<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.9.1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Doxygen: visualization/include/pcl/visualization/image_viewer.h 源文件</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">Doxygen
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- 制作者 Doxygen 1.9.1 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'搜索','.html');
/* @license-end */
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',true,false,'search.php','搜索');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('image__viewer_8h_source.html',''); initResizable(); });
/* @license-end */
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="headertitle">
<div class="title">image_viewer.h</div>  </div>
</div><!--header-->
<div class="contents">
<div class="fragment"><div class="line"><a name="l00001"></a><span class="lineno">    1</span>&#160;<span class="comment">/*</span></div>
<div class="line"><a name="l00002"></a><span class="lineno">    2</span>&#160;<span class="comment"> * Software License Agreement (BSD License)</span></div>
<div class="line"><a name="l00003"></a><span class="lineno">    3</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00004"></a><span class="lineno">    4</span>&#160;<span class="comment"> *  Point Cloud Library (PCL) - www.pointclouds.org</span></div>
<div class="line"><a name="l00005"></a><span class="lineno">    5</span>&#160;<span class="comment"> *  Copyright (c) 2010-2012, Willow Garage, Inc.</span></div>
<div class="line"><a name="l00006"></a><span class="lineno">    6</span>&#160;<span class="comment"> *  Copyright (c) 2012-, Open Perception, Inc.</span></div>
<div class="line"><a name="l00007"></a><span class="lineno">    7</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00008"></a><span class="lineno">    8</span>&#160;<span class="comment"> *  All rights reserved.</span></div>
<div class="line"><a name="l00009"></a><span class="lineno">    9</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00010"></a><span class="lineno">   10</span>&#160;<span class="comment"> *  Redistribution and use in source and binary forms, with or without</span></div>
<div class="line"><a name="l00011"></a><span class="lineno">   11</span>&#160;<span class="comment"> *  modification, are permitted provided that the following conditions</span></div>
<div class="line"><a name="l00012"></a><span class="lineno">   12</span>&#160;<span class="comment"> *  are met:</span></div>
<div class="line"><a name="l00013"></a><span class="lineno">   13</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00014"></a><span class="lineno">   14</span>&#160;<span class="comment"> *   * Redistributions of source code must retain the above copyright</span></div>
<div class="line"><a name="l00015"></a><span class="lineno">   15</span>&#160;<span class="comment"> *     notice, this list of conditions and the following disclaimer.</span></div>
<div class="line"><a name="l00016"></a><span class="lineno">   16</span>&#160;<span class="comment"> *   * Redistributions in binary form must reproduce the above</span></div>
<div class="line"><a name="l00017"></a><span class="lineno">   17</span>&#160;<span class="comment"> *     copyright notice, this list of conditions and the following</span></div>
<div class="line"><a name="l00018"></a><span class="lineno">   18</span>&#160;<span class="comment"> *     disclaimer in the documentation and/or other materials provided</span></div>
<div class="line"><a name="l00019"></a><span class="lineno">   19</span>&#160;<span class="comment"> *     with the distribution.</span></div>
<div class="line"><a name="l00020"></a><span class="lineno">   20</span>&#160;<span class="comment"> *   * Neither the name of the copyright holder(s) nor the names of its</span></div>
<div class="line"><a name="l00021"></a><span class="lineno">   21</span>&#160;<span class="comment"> *     contributors may be used to endorse or promote products derived</span></div>
<div class="line"><a name="l00022"></a><span class="lineno">   22</span>&#160;<span class="comment"> *     from this software without specific prior written permission.</span></div>
<div class="line"><a name="l00023"></a><span class="lineno">   23</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00024"></a><span class="lineno">   24</span>&#160;<span class="comment"> *  THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS</span></div>
<div class="line"><a name="l00025"></a><span class="lineno">   25</span>&#160;<span class="comment"> *  &quot;AS IS&quot; AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT</span></div>
<div class="line"><a name="l00026"></a><span class="lineno">   26</span>&#160;<span class="comment"> *  LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS</span></div>
<div class="line"><a name="l00027"></a><span class="lineno">   27</span>&#160;<span class="comment"> *  FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE</span></div>
<div class="line"><a name="l00028"></a><span class="lineno">   28</span>&#160;<span class="comment"> *  COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,</span></div>
<div class="line"><a name="l00029"></a><span class="lineno">   29</span>&#160;<span class="comment"> *  INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,</span></div>
<div class="line"><a name="l00030"></a><span class="lineno">   30</span>&#160;<span class="comment"> *  BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;</span></div>
<div class="line"><a name="l00031"></a><span class="lineno">   31</span>&#160;<span class="comment"> *  LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER</span></div>
<div class="line"><a name="l00032"></a><span class="lineno">   32</span>&#160;<span class="comment"> *  CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT</span></div>
<div class="line"><a name="l00033"></a><span class="lineno">   33</span>&#160;<span class="comment"> *  LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN</span></div>
<div class="line"><a name="l00034"></a><span class="lineno">   34</span>&#160;<span class="comment"> *  ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE</span></div>
<div class="line"><a name="l00035"></a><span class="lineno">   35</span>&#160;<span class="comment"> *  POSSIBILITY OF SUCH DAMAGE.</span></div>
<div class="line"><a name="l00036"></a><span class="lineno">   36</span>&#160;<span class="comment"> *</span></div>
<div class="line"><a name="l00037"></a><span class="lineno">   37</span>&#160;<span class="comment"> */</span></div>
<div class="line"><a name="l00038"></a><span class="lineno">   38</span>&#160; </div>
<div class="line"><a name="l00039"></a><span class="lineno">   39</span>&#160;<span class="preprocessor">#ifndef PCL_VISUALIZATION_IMAGE_VISUALIZER_H__</span></div>
<div class="line"><a name="l00040"></a><span class="lineno">   40</span>&#160;<span class="preprocessor">#define PCL_VISUALIZATION_IMAGE_VISUALIZER_H__</span></div>
<div class="line"><a name="l00041"></a><span class="lineno">   41</span>&#160; </div>
<div class="line"><a name="l00042"></a><span class="lineno">   42</span>&#160;<span class="preprocessor">#include &lt;pcl/pcl_macros.h&gt;</span></div>
<div class="line"><a name="l00043"></a><span class="lineno">   43</span>&#160;<span class="preprocessor">#include &lt;<a class="code" href="common_2include_2pcl_2point__types_8h.html">pcl/point_types.h</a>&gt;</span></div>
<div class="line"><a name="l00044"></a><span class="lineno">   44</span>&#160;<span class="preprocessor">#include &lt;pcl/console/print.h&gt;</span></div>
<div class="line"><a name="l00045"></a><span class="lineno">   45</span>&#160;<span class="preprocessor">#include &lt;pcl/visualization/interactor.h&gt;</span></div>
<div class="line"><a name="l00046"></a><span class="lineno">   46</span>&#160;<span class="preprocessor">#include &lt;pcl/visualization/interactor_style.h&gt;</span></div>
<div class="line"><a name="l00047"></a><span class="lineno">   47</span>&#160;<span class="preprocessor">#include &lt;pcl/visualization/vtk/pcl_image_canvas_source_2d.h&gt;</span></div>
<div class="line"><a name="l00048"></a><span class="lineno">   48</span>&#160;<span class="preprocessor">#include &lt;pcl/visualization/vtk/pcl_context_item.h&gt;</span></div>
<div class="line"><a name="l00049"></a><span class="lineno">   49</span>&#160;<span class="preprocessor">#include &lt;pcl/geometry/planar_polygon.h&gt;</span></div>
<div class="line"><a name="l00050"></a><span class="lineno">   50</span>&#160;<span class="preprocessor">#include &lt;pcl/correspondence.h&gt;</span></div>
<div class="line"><a name="l00051"></a><span class="lineno">   51</span>&#160; </div>
<div class="line"><a name="l00052"></a><span class="lineno">   52</span>&#160;<span class="preprocessor">#include &lt;boost/shared_array.hpp&gt;</span></div>
<div class="line"><a name="l00053"></a><span class="lineno">   53</span>&#160; </div>
<div class="line"><a name="l00054"></a><span class="lineno">   54</span>&#160;<span class="preprocessor">#include &lt;vtkVersion.h&gt;</span></div>
<div class="line"><a name="l00055"></a><span class="lineno">   55</span>&#160;<span class="preprocessor">#include &lt;vtkInteractorStyleImage.h&gt;</span></div>
<div class="line"><a name="l00056"></a><span class="lineno">   56</span>&#160; </div>
<div class="line"><a name="l00057"></a><span class="lineno">   57</span>&#160;<span class="keyword">class </span>vtkImageSlice;</div>
<div class="line"><a name="l00058"></a><span class="lineno">   58</span>&#160;<span class="keyword">class </span>vtkContextActor;</div>
<div class="line"><a name="l00059"></a><span class="lineno">   59</span>&#160;<span class="keyword">class </span>vtkImageViewer;</div>
<div class="line"><a name="l00060"></a><span class="lineno">   60</span>&#160;<span class="keyword">class </span>vtkImageFlip;</div>
<div class="line"><a name="l00061"></a><span class="lineno">   61</span>&#160; </div>
<div class="line"><a name="l00062"></a><span class="lineno">   62</span>&#160;<span class="keyword">namespace </span>pcl</div>
<div class="line"><a name="l00063"></a><span class="lineno">   63</span>&#160;{</div>
<div class="line"><a name="l00064"></a><span class="lineno">   64</span>&#160;  <span class="keyword">namespace </span>visualization</div>
<div class="line"><a name="l00065"></a><span class="lineno">   65</span>&#160;  {</div>
<div class="line"><a name="l00066"></a><span class="lineno">   66</span>&#160;    <span class="keyword">typedef</span> Eigen::Array&lt;unsigned char, 3, 1&gt; Vector3ub;</div>
<div class="line"><a name="l00067"></a><span class="lineno">   67</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> Vector3ub green_color (0, 255, 0);</div>
<div class="line"><a name="l00068"></a><span class="lineno">   68</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> Vector3ub red_color (255, 0, 0);</div>
<div class="line"><a name="l00069"></a><span class="lineno">   69</span>&#160;    <span class="keyword">static</span> <span class="keyword">const</span> Vector3ub blue_color (0, 0, 255);</div>
<div class="line"><a name="l00070"></a><span class="lineno">   70</span>&#160; </div>
<div class="line"><a name="l00075"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer_interactor_style.html">   75</a></span>&#160;    <span class="keyword">class </span>PCL_EXPORTS <a class="code" href="classpcl_1_1visualization_1_1_image_viewer_interactor_style.html">ImageViewerInteractorStyle</a> : <span class="keyword">public</span> vtkInteractorStyleImage</div>
<div class="line"><a name="l00076"></a><span class="lineno">   76</span>&#160;    {</div>
<div class="line"><a name="l00077"></a><span class="lineno">   77</span>&#160;      <span class="keyword">public</span>:</div>
<div class="line"><a name="l00078"></a><span class="lineno">   78</span>&#160;        <span class="keyword">static</span> <a class="code" href="classpcl_1_1visualization_1_1_image_viewer_interactor_style.html">ImageViewerInteractorStyle</a> *New ();</div>
<div class="line"><a name="l00079"></a><span class="lineno">   79</span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer_interactor_style.html">ImageViewerInteractorStyle</a> ();</div>
<div class="line"><a name="l00080"></a><span class="lineno">   80</span>&#160; </div>
<div class="line"><a name="l00081"></a><span class="lineno">   81</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnMouseWheelForward () {}</div>
<div class="line"><a name="l00082"></a><span class="lineno">   82</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnMouseWheelBackward () {}</div>
<div class="line"><a name="l00083"></a><span class="lineno">   83</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnMiddleButtonDown () {}</div>
<div class="line"><a name="l00084"></a><span class="lineno">   84</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnRightButtonDown () {}</div>
<div class="line"><a name="l00085"></a><span class="lineno">   85</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span> OnLeftButtonDown ();</div>
<div class="line"><a name="l00086"></a><span class="lineno">   86</span>&#160; </div>
<div class="line"><a name="l00087"></a><span class="lineno">   87</span>&#160;        <span class="keyword">virtual</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00088"></a><span class="lineno">   88</span>&#160;        OnChar ();</div>
<div class="line"><a name="l00089"></a><span class="lineno">   89</span>&#160; </div>
<div class="line"><a name="l00090"></a><span class="lineno">   90</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00091"></a><span class="lineno">   91</span>&#160;        adjustCamera (vtkImageData *image, vtkRenderer *ren);</div>
<div class="line"><a name="l00092"></a><span class="lineno">   92</span>&#160; </div>
<div class="line"><a name="l00093"></a><span class="lineno">   93</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00094"></a><span class="lineno">   94</span>&#160;        adjustCamera (vtkRenderer *ren);</div>
<div class="line"><a name="l00095"></a><span class="lineno">   95</span>&#160;    };</div>
<div class="line"><a name="l00096"></a><span class="lineno">   96</span>&#160; </div>
<div class="line"><a name="l00118"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html">  118</a></span>&#160;    <span class="keyword">class </span>PCL_EXPORTS <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html">ImageViewer</a></div>
<div class="line"><a name="l00119"></a><span class="lineno">  119</span>&#160;    {</div>
<div class="line"><a name="l00120"></a><span class="lineno">  120</span>&#160;      <span class="keyword">public</span>:</div>
<div class="line"><a name="l00121"></a><span class="lineno">  121</span>&#160;        <span class="keyword">typedef</span> boost::shared_ptr&lt;ImageViewer&gt; Ptr;</div>
<div class="line"><a name="l00122"></a><span class="lineno">  122</span>&#160; </div>
<div class="line"><a name="l00126"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ab67fc7734463f333ef483e0ec1eaeab0">  126</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ab67fc7734463f333ef483e0ec1eaeab0">ImageViewer</a> (<span class="keyword">const</span> std::string&amp; window_title = <span class="stringliteral">&quot;&quot;</span>);</div>
<div class="line"><a name="l00127"></a><span class="lineno">  127</span>&#160; </div>
<div class="line"><a name="l00129"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#aac139b68072915671fd88dcebd97df1a">  129</a></span>&#160;        <span class="keyword">virtual</span> <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#aac139b68072915671fd88dcebd97df1a">~ImageViewer</a> ();</div>
<div class="line"><a name="l00130"></a><span class="lineno">  130</span>&#160;       </div>
<div class="line"><a name="l00131"></a><span class="lineno">  131</span>&#160;<span class="preprocessor">#if ((VTK_MAJOR_VERSION &gt; 5) || ((VTK_MAJOR_VERSION == 5) &amp;&amp; (VTK_MINOR_VERSION &gt; 4)))</span></div>
<div class="line"><a name="l00136"></a><span class="lineno">  136</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00137"></a><span class="lineno">  137</span>&#160;        setInteractorStyle (vtkInteractorObserver *style)</div>
<div class="line"><a name="l00138"></a><span class="lineno">  138</span>&#160;        {</div>
<div class="line"><a name="l00139"></a><span class="lineno">  139</span>&#160;          interactor_-&gt;SetInteractorStyle (style);</div>
<div class="line"><a name="l00140"></a><span class="lineno">  140</span>&#160;        }</div>
<div class="line"><a name="l00141"></a><span class="lineno">  141</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00150"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ab3d46fb79a3a66b9a577808ed7169c9f">  150</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ab3d46fb79a3a66b9a577808ed7169c9f">showMonoImage</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">unsigned</span> width, <span class="keywordtype">unsigned</span> height,</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;                       <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;mono_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160; </div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00161"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a764f707517a6f5a94d6afd9441508794">  161</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a764f707517a6f5a94d6afd9441508794">addMonoImage</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">unsigned</span> width, <span class="keywordtype">unsigned</span> height,</div>
<div class="line"><a name="l00162"></a><span class="lineno">  162</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;mono_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00163"></a><span class="lineno">  163</span>&#160; </div>
<div class="line"><a name="l00169"></a><span class="lineno">  169</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00170"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#afbcd91e2f16a9e11e72aec9e5fb74317">  170</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#afbcd91e2f16a9e11e72aec9e5fb74317">showMonoImage</a> (<span class="keyword">const</span> pcl::PointCloud&lt;pcl::Intensity&gt;::ConstPtr &amp;cloud,</div>
<div class="line"><a name="l00171"></a><span class="lineno">  171</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;mono_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0)</div>
<div class="line"><a name="l00172"></a><span class="lineno">  172</span>&#160;        {</div>
<div class="line"><a name="l00173"></a><span class="lineno">  173</span>&#160;          <span class="keywordflow">return</span> (showMonoImage (*cloud, layer_id, opacity));</div>
<div class="line"><a name="l00174"></a><span class="lineno">  174</span>&#160;        }</div>
<div class="line"><a name="l00175"></a><span class="lineno">  175</span>&#160; </div>
<div class="line"><a name="l00181"></a><span class="lineno">  181</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00182"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ad0ed6bc71fcd05d3c77148d76368915a">  182</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ad0ed6bc71fcd05d3c77148d76368915a">addMonoImage</a> (<span class="keyword">const</span> pcl::PointCloud&lt;pcl::Intensity&gt;::ConstPtr &amp;cloud,</div>
<div class="line"><a name="l00183"></a><span class="lineno">  183</span>&#160;                     <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;mono_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0)</div>
<div class="line"><a name="l00184"></a><span class="lineno">  184</span>&#160;        {</div>
<div class="line"><a name="l00185"></a><span class="lineno">  185</span>&#160;          <span class="keywordflow">return</span> (addMonoImage (*cloud, layer_id, opacity));</div>
<div class="line"><a name="l00186"></a><span class="lineno">  186</span>&#160;        }</div>
<div class="line"><a name="l00187"></a><span class="lineno">  187</span>&#160; </div>
<div class="line"><a name="l00193"></a><span class="lineno">  193</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00194"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#aca066cf44d842ea7e8a11da86fe56e48">  194</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#aca066cf44d842ea7e8a11da86fe56e48">showMonoImage</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::Intensity&gt;</a> &amp;cloud,</div>
<div class="line"><a name="l00195"></a><span class="lineno">  195</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;mono_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00196"></a><span class="lineno">  196</span>&#160; </div>
<div class="line"><a name="l00202"></a><span class="lineno">  202</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00203"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a4717d079f67880bfc7a80b3731b6eada">  203</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a4717d079f67880bfc7a80b3731b6eada">addMonoImage</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::Intensity&gt;</a> &amp;cloud,</div>
<div class="line"><a name="l00204"></a><span class="lineno">  204</span>&#160;                     <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;mono_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00205"></a><span class="lineno">  205</span>&#160; </div>
<div class="line"><a name="l00211"></a><span class="lineno">  211</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00212"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a7dd0425191252de387726ab970b330a7">  212</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a7dd0425191252de387726ab970b330a7">showMonoImage</a> (<span class="keyword">const</span> pcl::PointCloud&lt;pcl::Intensity8u&gt;::ConstPtr &amp;cloud,</div>
<div class="line"><a name="l00213"></a><span class="lineno">  213</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;mono_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0)</div>
<div class="line"><a name="l00214"></a><span class="lineno">  214</span>&#160;        {</div>
<div class="line"><a name="l00215"></a><span class="lineno">  215</span>&#160;          <span class="keywordflow">return</span> (showMonoImage (*cloud, layer_id, opacity));</div>
<div class="line"><a name="l00216"></a><span class="lineno">  216</span>&#160;        }</div>
<div class="line"><a name="l00217"></a><span class="lineno">  217</span>&#160; </div>
<div class="line"><a name="l00223"></a><span class="lineno">  223</span>&#160;        <span class="keyword">inline</span> <span class="keywordtype">void</span></div>
<div class="line"><a name="l00224"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a3cb5442511b386e1463680ff0f01f288">  224</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a3cb5442511b386e1463680ff0f01f288">addMonoImage</a> (<span class="keyword">const</span> pcl::PointCloud&lt;pcl::Intensity8u&gt;::ConstPtr &amp;cloud,</div>
<div class="line"><a name="l00225"></a><span class="lineno">  225</span>&#160;                     <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;mono_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0)</div>
<div class="line"><a name="l00226"></a><span class="lineno">  226</span>&#160;        {</div>
<div class="line"><a name="l00227"></a><span class="lineno">  227</span>&#160;          <span class="keywordflow">return</span> (addMonoImage (*cloud, layer_id, opacity));</div>
<div class="line"><a name="l00228"></a><span class="lineno">  228</span>&#160;        }</div>
<div class="line"><a name="l00229"></a><span class="lineno">  229</span>&#160; </div>
<div class="line"><a name="l00235"></a><span class="lineno">  235</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00236"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#aac22a20ad2eb7e466966d74a043a52cb">  236</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#aac22a20ad2eb7e466966d74a043a52cb">showMonoImage</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::Intensity8u&gt;</a> &amp;cloud,</div>
<div class="line"><a name="l00237"></a><span class="lineno">  237</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;mono_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00238"></a><span class="lineno">  238</span>&#160; </div>
<div class="line"><a name="l00244"></a><span class="lineno">  244</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00245"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a85f3a0290a4b9e4c29b847e8aa06679d">  245</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a85f3a0290a4b9e4c29b847e8aa06679d">addMonoImage</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::Intensity8u&gt;</a> &amp;cloud,</div>
<div class="line"><a name="l00246"></a><span class="lineno">  246</span>&#160;                     <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;mono_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00247"></a><span class="lineno">  247</span>&#160; </div>
<div class="line"><a name="l00255"></a><span class="lineno">  255</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00256"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a33e79bc49719cc7e2005f3cf76bff1f6">  256</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a33e79bc49719cc7e2005f3cf76bff1f6">showRGBImage</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">unsigned</span> width, <span class="keywordtype">unsigned</span> height, </div>
<div class="line"><a name="l00257"></a><span class="lineno">  257</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rgb_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00258"></a><span class="lineno">  258</span>&#160; </div>
<div class="line"><a name="l00266"></a><span class="lineno">  266</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00267"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ab3340b7e8cc80f3cf4276dfcbb589fe5">  267</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ab3340b7e8cc80f3cf4276dfcbb589fe5">addRGBImage</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">char</span>* data, <span class="keywordtype">unsigned</span> width, <span class="keywordtype">unsigned</span> height, </div>
<div class="line"><a name="l00268"></a><span class="lineno">  268</span>&#160;                     <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rgb_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00269"></a><span class="lineno">  269</span>&#160; </div>
<div class="line"><a name="l00275"></a><span class="lineno">  275</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00276"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a3d4270eb07ff05d02ec9ddbb417691c7">  276</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a3d4270eb07ff05d02ec9ddbb417691c7">showRGBImage</a> (<span class="keyword">const</span> <span class="keyword">typename</span> pcl::PointCloud&lt;T&gt;::ConstPtr &amp;cloud,</div>
<div class="line"><a name="l00277"></a><span class="lineno">  277</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rgb_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0)</div>
<div class="line"><a name="l00278"></a><span class="lineno">  278</span>&#160;        {</div>
<div class="line"><a name="l00279"></a><span class="lineno">  279</span>&#160;          <span class="keywordflow">return</span> (showRGBImage&lt;T&gt; (*cloud, layer_id, opacity));</div>
<div class="line"><a name="l00280"></a><span class="lineno">  280</span>&#160;        }</div>
<div class="line"><a name="l00281"></a><span class="lineno">  281</span>&#160; </div>
<div class="line"><a name="l00287"></a><span class="lineno">  287</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keyword">inline</span> <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00288"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ac0c9e8a98da3768aef5dd08df9822bdf">  288</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ac0c9e8a98da3768aef5dd08df9822bdf">addRGBImage</a> (<span class="keyword">const</span> <span class="keyword">typename</span> pcl::PointCloud&lt;T&gt;::ConstPtr &amp;cloud,</div>
<div class="line"><a name="l00289"></a><span class="lineno">  289</span>&#160;                     <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rgb_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0)</div>
<div class="line"><a name="l00290"></a><span class="lineno">  290</span>&#160;        {</div>
<div class="line"><a name="l00291"></a><span class="lineno">  291</span>&#160;          <span class="keywordflow">return</span> (addRGBImage&lt;T&gt; (*cloud, layer_id, opacity));</div>
<div class="line"><a name="l00292"></a><span class="lineno">  292</span>&#160;        }</div>
<div class="line"><a name="l00293"></a><span class="lineno">  293</span>&#160; </div>
<div class="line"><a name="l00299"></a><span class="lineno">  299</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00300"></a><span class="lineno">  300</span>&#160;        showRGBImage (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;T&gt;</a> &amp;cloud,</div>
<div class="line"><a name="l00301"></a><span class="lineno">  301</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rgb_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00302"></a><span class="lineno">  302</span>&#160; </div>
<div class="line"><a name="l00308"></a><span class="lineno">  308</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00309"></a><span class="lineno">  309</span>&#160;        addRGBImage (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;T&gt;</a> &amp;cloud,</div>
<div class="line"><a name="l00310"></a><span class="lineno">  310</span>&#160;                     <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rgb_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00311"></a><span class="lineno">  311</span>&#160; </div>
<div class="line"><a name="l00322"></a><span class="lineno">  322</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00323"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a775047bc2b18889522caab74751ae6f3">  323</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a775047bc2b18889522caab74751ae6f3">showFloatImage</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* data, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> height, </div>
<div class="line"><a name="l00324"></a><span class="lineno">  324</span>&#160;                        <span class="keywordtype">float</span> min_value = std::numeric_limits&lt;float&gt;::min (), </div>
<div class="line"><a name="l00325"></a><span class="lineno">  325</span>&#160;                        <span class="keywordtype">float</span> max_value = std::numeric_limits&lt;float&gt;::max (), <span class="keywordtype">bool</span> grayscale = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00326"></a><span class="lineno">  326</span>&#160;                        <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;float_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00327"></a><span class="lineno">  327</span>&#160; </div>
<div class="line"><a name="l00338"></a><span class="lineno">  338</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00339"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ac29c3b5fa725cb452135733e13332d6c">  339</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ac29c3b5fa725cb452135733e13332d6c">addFloatImage</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* data, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> height, </div>
<div class="line"><a name="l00340"></a><span class="lineno">  340</span>&#160;                       <span class="keywordtype">float</span> min_value = std::numeric_limits&lt;float&gt;::min (), </div>
<div class="line"><a name="l00341"></a><span class="lineno">  341</span>&#160;                       <span class="keywordtype">float</span> max_value = std::numeric_limits&lt;float&gt;::max (), <span class="keywordtype">bool</span> grayscale = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00342"></a><span class="lineno">  342</span>&#160;                       <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;float_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00343"></a><span class="lineno">  343</span>&#160;        </div>
<div class="line"><a name="l00354"></a><span class="lineno">  354</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00355"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a8e6d9e7fa50c79a804230474fe572b98">  355</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a8e6d9e7fa50c79a804230474fe572b98">showShortImage</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>* short_image, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> height, </div>
<div class="line"><a name="l00356"></a><span class="lineno">  356</span>&#160;                        <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> min_value = std::numeric_limits&lt;unsigned short&gt;::min (), </div>
<div class="line"><a name="l00357"></a><span class="lineno">  357</span>&#160;                        <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> max_value = std::numeric_limits&lt;unsigned short&gt;::max (), <span class="keywordtype">bool</span> grayscale = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00358"></a><span class="lineno">  358</span>&#160;                        <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;short_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00359"></a><span class="lineno">  359</span>&#160; </div>
<div class="line"><a name="l00370"></a><span class="lineno">  370</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00371"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a9a53f1ab682bd6031a613683cf79df34">  371</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a9a53f1ab682bd6031a613683cf79df34">addShortImage</a> (<span class="keyword">const</span> <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span>* short_image, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> width, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> height, </div>
<div class="line"><a name="l00372"></a><span class="lineno">  372</span>&#160;                       <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> min_value = std::numeric_limits&lt;unsigned short&gt;::min (), </div>
<div class="line"><a name="l00373"></a><span class="lineno">  373</span>&#160;                       <span class="keywordtype">unsigned</span> <span class="keywordtype">short</span> max_value = std::numeric_limits&lt;unsigned short&gt;::max (), <span class="keywordtype">bool</span> grayscale = <span class="keyword">false</span>,</div>
<div class="line"><a name="l00374"></a><span class="lineno">  374</span>&#160;                       <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;short_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00375"></a><span class="lineno">  375</span>&#160; </div>
<div class="line"><a name="l00383"></a><span class="lineno">  383</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00384"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a2406ecea1e68be3028bb4861478f5c2b">  384</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a2406ecea1e68be3028bb4861478f5c2b">showAngleImage</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* data, <span class="keywordtype">unsigned</span> width, <span class="keywordtype">unsigned</span> height,</div>
<div class="line"><a name="l00385"></a><span class="lineno">  385</span>&#160;                        <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;angle_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00386"></a><span class="lineno">  386</span>&#160; </div>
<div class="line"><a name="l00394"></a><span class="lineno">  394</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00395"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ad46e6a0d2d9b1e1a1d4a0e56b3e28bd3">  395</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ad46e6a0d2d9b1e1a1d4a0e56b3e28bd3">addAngleImage</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* data, <span class="keywordtype">unsigned</span> width, <span class="keywordtype">unsigned</span> height,</div>
<div class="line"><a name="l00396"></a><span class="lineno">  396</span>&#160;                       <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;angle_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00397"></a><span class="lineno">  397</span>&#160; </div>
<div class="line"><a name="l00405"></a><span class="lineno">  405</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00406"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a83262fe4addf159963e9eeb5bc918153">  406</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a83262fe4addf159963e9eeb5bc918153">showHalfAngleImage</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* data, <span class="keywordtype">unsigned</span> width, <span class="keywordtype">unsigned</span> height,</div>
<div class="line"><a name="l00407"></a><span class="lineno">  407</span>&#160;                            <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;half_angle_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00408"></a><span class="lineno">  408</span>&#160; </div>
<div class="line"><a name="l00416"></a><span class="lineno">  416</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00417"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a60fa47b0538b35974d7f63e741c5ef83">  417</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a60fa47b0538b35974d7f63e741c5ef83">addHalfAngleImage</a> (<span class="keyword">const</span> <span class="keywordtype">float</span>* data, <span class="keywordtype">unsigned</span> width, <span class="keywordtype">unsigned</span> height,</div>
<div class="line"><a name="l00418"></a><span class="lineno">  418</span>&#160;                           <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;half_angle_image&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00419"></a><span class="lineno">  419</span>&#160; </div>
<div class="line"><a name="l00429"></a><span class="lineno">  429</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00430"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a8635790ba434ac25d5996b6747a35281">  430</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a8635790ba434ac25d5996b6747a35281">markPoint</a> (<span class="keywordtype">size_t</span> u, <span class="keywordtype">size_t</span> v, Vector3ub fg_color, Vector3ub bg_color = red_color, <span class="keywordtype">double</span> radius = 3.0,</div>
<div class="line"><a name="l00431"></a><span class="lineno">  431</span>&#160;                   <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;points&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00432"></a><span class="lineno">  432</span>&#160; </div>
<div class="line"><a name="l00441"></a><span class="lineno">  441</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00442"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a811c0ab2c8ef24d2edd03f235630121b">  442</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a811c0ab2c8ef24d2edd03f235630121b">markPoints</a> (<span class="keyword">const</span> std::vector&lt;int&gt;&amp; uv, Vector3ub fg_color, Vector3ub bg_color = red_color, <span class="keywordtype">double</span> size = 3.0,</div>
<div class="line"><a name="l00443"></a><span class="lineno">  443</span>&#160;                    <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;markers&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00444"></a><span class="lineno">  444</span>&#160; </div>
<div class="line"><a name="l00453"></a><span class="lineno">  453</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00454"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a0506f8e1f6d8ba95973dfdfdeb131ba0">  454</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a0506f8e1f6d8ba95973dfdfdeb131ba0">markPoints</a> (<span class="keyword">const</span> std::vector&lt;float&gt;&amp; uv, Vector3ub fg_color, Vector3ub bg_color = red_color, <span class="keywordtype">double</span> size = 3.0,</div>
<div class="line"><a name="l00455"></a><span class="lineno">  455</span>&#160;                    <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;markers&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00456"></a><span class="lineno">  456</span>&#160; </div>
<div class="line"><a name="l00460"></a><span class="lineno">  460</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00461"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a0bf8630b973a4b0497f241568d0e6baa">  461</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a0bf8630b973a4b0497f241568d0e6baa">setWindowTitle</a> (<span class="keyword">const</span> std::string&amp; name);</div>
<div class="line"><a name="l00462"></a><span class="lineno">  462</span>&#160; </div>
<div class="line"><a name="l00464"></a><span class="lineno">  464</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00465"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a78653afaa6dc910ce241b9bf8cea45f6">  465</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a78653afaa6dc910ce241b9bf8cea45f6">spin</a> ();</div>
<div class="line"><a name="l00466"></a><span class="lineno">  466</span>&#160;        </div>
<div class="line"><a name="l00472"></a><span class="lineno">  472</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00473"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a3eb6e9560da820df593c85dbbd47af1c">  473</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a3eb6e9560da820df593c85dbbd47af1c">spinOnce</a> (<span class="keywordtype">int</span> time = 1, <span class="keywordtype">bool</span> force_redraw = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00474"></a><span class="lineno">  474</span>&#160;        </div>
<div class="line"><a name="l00480"></a><span class="lineno">  480</span>&#160;        boost::signals2::connection </div>
<div class="line"><a name="l00481"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a768b636bbac4ee67a5aa86fd4b239b12">  481</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a768b636bbac4ee67a5aa86fd4b239b12">registerKeyboardCallback</a> (<span class="keywordtype">void</span> (*callback) (<span class="keyword">const</span> <a class="code" href="classpcl_1_1visualization_1_1_keyboard_event.html">pcl::visualization::KeyboardEvent</a>&amp;, <span class="keywordtype">void</span>*), </div>
<div class="line"><a name="l00482"></a><span class="lineno">  482</span>&#160;                                  <span class="keywordtype">void</span>* cookie = NULL)</div>
<div class="line"><a name="l00483"></a><span class="lineno">  483</span>&#160;        {</div>
<div class="line"><a name="l00484"></a><span class="lineno">  484</span>&#160;          <span class="keywordflow">return</span> (registerKeyboardCallback (boost::bind (callback, _1, cookie)));</div>
<div class="line"><a name="l00485"></a><span class="lineno">  485</span>&#160;        }</div>
<div class="line"><a name="l00486"></a><span class="lineno">  486</span>&#160;        </div>
<div class="line"><a name="l00493"></a><span class="lineno">  493</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; boost::signals2::connection </div>
<div class="line"><a name="l00494"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#add4cf1ce0536ae6ba7b42f316e6d368c">  494</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#add4cf1ce0536ae6ba7b42f316e6d368c">registerKeyboardCallback</a> (<span class="keywordtype">void</span> (T::*callback) (<span class="keyword">const</span> <a class="code" href="classpcl_1_1visualization_1_1_keyboard_event.html">pcl::visualization::KeyboardEvent</a>&amp;, <span class="keywordtype">void</span>*), </div>
<div class="line"><a name="l00495"></a><span class="lineno">  495</span>&#160;                                  T&amp; instance, <span class="keywordtype">void</span>* cookie = NULL)</div>
<div class="line"><a name="l00496"></a><span class="lineno">  496</span>&#160;        {</div>
<div class="line"><a name="l00497"></a><span class="lineno">  497</span>&#160;          <span class="keywordflow">return</span> (registerKeyboardCallback (boost::bind (callback,  boost::ref (instance), _1, cookie)));</div>
<div class="line"><a name="l00498"></a><span class="lineno">  498</span>&#160;        }</div>
<div class="line"><a name="l00499"></a><span class="lineno">  499</span>&#160;        </div>
<div class="line"><a name="l00504"></a><span class="lineno">  504</span>&#160;        boost::signals2::connection </div>
<div class="line"><a name="l00505"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a67179cecfc3ea0f0c1e16a33089cb24b">  505</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a67179cecfc3ea0f0c1e16a33089cb24b">registerKeyboardCallback</a> (boost::function&lt;<span class="keywordtype">void</span> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1visualization_1_1_keyboard_event.html">pcl::visualization::KeyboardEvent</a>&amp;)&gt; cb);</div>
<div class="line"><a name="l00506"></a><span class="lineno">  506</span>&#160; </div>
<div class="line"><a name="l00512"></a><span class="lineno">  512</span>&#160;        boost::signals2::connection </div>
<div class="line"><a name="l00513"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#aea7736ed1e3710dc9fcd210c8a41e509">  513</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#aea7736ed1e3710dc9fcd210c8a41e509">registerMouseCallback</a> (<span class="keywordtype">void</span> (*callback) (<span class="keyword">const</span> <a class="code" href="classpcl_1_1visualization_1_1_mouse_event.html">pcl::visualization::MouseEvent</a>&amp;, <span class="keywordtype">void</span>*), </div>
<div class="line"><a name="l00514"></a><span class="lineno">  514</span>&#160;                               <span class="keywordtype">void</span>* cookie = NULL)</div>
<div class="line"><a name="l00515"></a><span class="lineno">  515</span>&#160;        {</div>
<div class="line"><a name="l00516"></a><span class="lineno">  516</span>&#160;          <span class="keywordflow">return</span> (registerMouseCallback (boost::bind (callback, _1, cookie)));</div>
<div class="line"><a name="l00517"></a><span class="lineno">  517</span>&#160;        }</div>
<div class="line"><a name="l00518"></a><span class="lineno">  518</span>&#160;        </div>
<div class="line"><a name="l00525"></a><span class="lineno">  525</span>&#160;        <span class="keyword">template</span>&lt;<span class="keyword">typename</span> T&gt; boost::signals2::connection </div>
<div class="line"><a name="l00526"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#aae27531d1bf7fe6c2a79320980b301a4">  526</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#aae27531d1bf7fe6c2a79320980b301a4">registerMouseCallback</a> (<span class="keywordtype">void</span> (T::*callback) (<span class="keyword">const</span> <a class="code" href="classpcl_1_1visualization_1_1_mouse_event.html">pcl::visualization::MouseEvent</a>&amp;, <span class="keywordtype">void</span>*), </div>
<div class="line"><a name="l00527"></a><span class="lineno">  527</span>&#160;                               T&amp; instance, <span class="keywordtype">void</span>* cookie = NULL)</div>
<div class="line"><a name="l00528"></a><span class="lineno">  528</span>&#160;        {</div>
<div class="line"><a name="l00529"></a><span class="lineno">  529</span>&#160;          <span class="keywordflow">return</span> (registerMouseCallback (boost::bind (callback, boost::ref (instance), _1, cookie)));</div>
<div class="line"><a name="l00530"></a><span class="lineno">  530</span>&#160;        }</div>
<div class="line"><a name="l00531"></a><span class="lineno">  531</span>&#160; </div>
<div class="line"><a name="l00536"></a><span class="lineno">  536</span>&#160;        boost::signals2::connection </div>
<div class="line"><a name="l00537"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a22fb868c8d32c6498c51184cdf3a2e26">  537</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a22fb868c8d32c6498c51184cdf3a2e26">registerMouseCallback</a> (boost::function&lt;<span class="keywordtype">void</span> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1visualization_1_1_mouse_event.html">pcl::visualization::MouseEvent</a>&amp;)&gt; cb);</div>
<div class="line"><a name="l00538"></a><span class="lineno">  538</span>&#160;        </div>
<div class="line"><a name="l00543"></a><span class="lineno">  543</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00544"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ace5662622459d62b330b83d5a544f26a">  544</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ace5662622459d62b330b83d5a544f26a">setPosition</a> (<span class="keywordtype">int</span> x, <span class="keywordtype">int</span> y);</div>
<div class="line"><a name="l00545"></a><span class="lineno">  545</span>&#160; </div>
<div class="line"><a name="l00550"></a><span class="lineno">  550</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00551"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ab928954619a61d4d1b6679a421ca8578">  551</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ab928954619a61d4d1b6679a421ca8578">setSize</a> (<span class="keywordtype">int</span> xw, <span class="keywordtype">int</span> yw);</div>
<div class="line"><a name="l00552"></a><span class="lineno">  552</span>&#160; </div>
<div class="line"><a name="l00554"></a><span class="lineno">  554</span>&#160;        <span class="keywordtype">int</span>*</div>
<div class="line"><a name="l00555"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ae041919b2a5c72dd8db64c98456aee0f">  555</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ae041919b2a5c72dd8db64c98456aee0f">getSize</a> ();</div>
<div class="line"><a name="l00556"></a><span class="lineno">  556</span>&#160; </div>
<div class="line"><a name="l00558"></a><span class="lineno">  558</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00559"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#af79aeb1777da223b2ff1a85ee77c71c1">  559</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#af79aeb1777da223b2ff1a85ee77c71c1">wasStopped</a> ()<span class="keyword"> const </span>{ <span class="keywordflow">return</span> (stopped_); }</div>
<div class="line"><a name="l00560"></a><span class="lineno">  560</span>&#160; </div>
<div class="line"><a name="l00562"></a><span class="lineno">  562</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00563"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ab6b01db4cee7006e08b237eac27cb623">  563</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ab6b01db4cee7006e08b237eac27cb623">close</a> ()</div>
<div class="line"><a name="l00564"></a><span class="lineno">  564</span>&#160;        {</div>
<div class="line"><a name="l00565"></a><span class="lineno">  565</span>&#160;          stopped_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00566"></a><span class="lineno">  566</span>&#160;          <span class="comment">// This tends to close the window...</span></div>
<div class="line"><a name="l00567"></a><span class="lineno">  567</span>&#160;<span class="preprocessor">#if ((VTK_MAJOR_VERSION == 5) &amp;&amp; (VTK_MINOR_VERSION &lt;= 4))</span></div>
<div class="line"><a name="l00568"></a><span class="lineno">  568</span>&#160;          interactor_-&gt;stopLoop ();</div>
<div class="line"><a name="l00569"></a><span class="lineno">  569</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00570"></a><span class="lineno">  570</span>&#160;          interactor_-&gt;TerminateApp ();</div>
<div class="line"><a name="l00571"></a><span class="lineno">  571</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00572"></a><span class="lineno">  572</span>&#160;        }</div>
<div class="line"><a name="l00573"></a><span class="lineno">  573</span>&#160; </div>
<div class="line"><a name="l00581"></a><span class="lineno">  581</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00582"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#af4168cf423e972fb3b81553ba67b36ea">  582</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#af4168cf423e972fb3b81553ba67b36ea">addCircle</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y, <span class="keywordtype">double</span> radius, </div>
<div class="line"><a name="l00583"></a><span class="lineno">  583</span>&#160;                   <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;circles&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00584"></a><span class="lineno">  584</span>&#160; </div>
<div class="line"><a name="l00595"></a><span class="lineno">  595</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00596"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#af9035ec397ec9c4e0019dc2fca7e8077">  596</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#af9035ec397ec9c4e0019dc2fca7e8077">addCircle</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y, <span class="keywordtype">double</span> radius, </div>
<div class="line"><a name="l00597"></a><span class="lineno">  597</span>&#160;                   <span class="keywordtype">double</span> r, <span class="keywordtype">double</span> g, <span class="keywordtype">double</span> b,</div>
<div class="line"><a name="l00598"></a><span class="lineno">  598</span>&#160;                   <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;circles&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00599"></a><span class="lineno">  599</span>&#160; </div>
<div class="line"><a name="l00606"></a><span class="lineno">  606</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00607"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a0eae37d9f7fdd3e71dc95bea071198f3">  607</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a0eae37d9f7fdd3e71dc95bea071198f3">addRectangle</a> (<span class="keyword">const</span> <a class="code" href="structpcl_1_1_point_x_y.html">pcl::PointXY</a> &amp;min_pt, <span class="keyword">const</span> <a class="code" href="structpcl_1_1_point_x_y.html">pcl::PointXY</a> &amp;max_pt,</div>
<div class="line"><a name="l00608"></a><span class="lineno">  608</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rectangles&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00609"></a><span class="lineno">  609</span>&#160; </div>
<div class="line"><a name="l00619"></a><span class="lineno">  619</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00620"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a52f7cd922decf854456c03a5de488050">  620</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a52f7cd922decf854456c03a5de488050">addRectangle</a> (<span class="keyword">const</span> <a class="code" href="structpcl_1_1_point_x_y.html">pcl::PointXY</a> &amp;min_pt, <span class="keyword">const</span> <a class="code" href="structpcl_1_1_point_x_y.html">pcl::PointXY</a> &amp;max_pt,</div>
<div class="line"><a name="l00621"></a><span class="lineno">  621</span>&#160;                      <span class="keywordtype">double</span> r, <span class="keywordtype">double</span> g, <span class="keywordtype">double</span> b,</div>
<div class="line"><a name="l00622"></a><span class="lineno">  622</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rectangles&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00623"></a><span class="lineno">  623</span>&#160; </div>
<div class="line"><a name="l00632"></a><span class="lineno">  632</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00633"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a0560bb62ee28db8d7312461a1b3bc025">  633</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a0560bb62ee28db8d7312461a1b3bc025">addRectangle</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x_min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x_max, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y_min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y_max,  </div>
<div class="line"><a name="l00634"></a><span class="lineno">  634</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rectangles&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00635"></a><span class="lineno">  635</span>&#160; </div>
<div class="line"><a name="l00647"></a><span class="lineno">  647</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00648"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a547fd16a365e5d47db69c82b2c932fbb">  648</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a547fd16a365e5d47db69c82b2c932fbb">addRectangle</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x_min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x_max, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y_min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y_max,  </div>
<div class="line"><a name="l00649"></a><span class="lineno">  649</span>&#160;                      <span class="keywordtype">double</span> r, <span class="keywordtype">double</span> g, <span class="keywordtype">double</span> b,</div>
<div class="line"><a name="l00650"></a><span class="lineno">  650</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rectangles&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00651"></a><span class="lineno">  651</span>&#160; </div>
<div class="line"><a name="l00659"></a><span class="lineno">  659</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00660"></a><span class="lineno">  660</span>&#160;        addRectangle (<span class="keyword">const</span> <span class="keyword">typename</span> pcl::PointCloud&lt;T&gt;::ConstPtr &amp;image, </div>
<div class="line"><a name="l00661"></a><span class="lineno">  661</span>&#160;                      <span class="keyword">const</span> T &amp;min_pt, <span class="keyword">const</span> T &amp;max_pt,</div>
<div class="line"><a name="l00662"></a><span class="lineno">  662</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rectangles&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00663"></a><span class="lineno">  663</span>&#160; </div>
<div class="line"><a name="l00674"></a><span class="lineno">  674</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00675"></a><span class="lineno">  675</span>&#160;        addRectangle (<span class="keyword">const</span> <span class="keyword">typename</span> pcl::PointCloud&lt;T&gt;::ConstPtr &amp;image, </div>
<div class="line"><a name="l00676"></a><span class="lineno">  676</span>&#160;                      <span class="keyword">const</span> T &amp;min_pt, <span class="keyword">const</span> T &amp;max_pt,</div>
<div class="line"><a name="l00677"></a><span class="lineno">  677</span>&#160;                      <span class="keywordtype">double</span> r, <span class="keywordtype">double</span> g, <span class="keywordtype">double</span> b,</div>
<div class="line"><a name="l00678"></a><span class="lineno">  678</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rectangles&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00679"></a><span class="lineno">  679</span>&#160; </div>
<div class="line"><a name="l00689"></a><span class="lineno">  689</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00690"></a><span class="lineno">  690</span>&#160;        addRectangle (<span class="keyword">const</span> <span class="keyword">typename</span> pcl::PointCloud&lt;T&gt;::ConstPtr &amp;image, <span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;T&gt;</a> &amp;mask, </div>
<div class="line"><a name="l00691"></a><span class="lineno">  691</span>&#160;                      <span class="keywordtype">double</span> r, <span class="keywordtype">double</span> g, <span class="keywordtype">double</span> b, </div>
<div class="line"><a name="l00692"></a><span class="lineno">  692</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;rectangles&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00693"></a><span class="lineno">  693</span>&#160; </div>
<div class="line"><a name="l00700"></a><span class="lineno">  700</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00701"></a><span class="lineno">  701</span>&#160;        addRectangle (<span class="keyword">const</span> <span class="keyword">typename</span> pcl::PointCloud&lt;T&gt;::ConstPtr &amp;image, <span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;T&gt;</a> &amp;mask, </div>
<div class="line"><a name="l00702"></a><span class="lineno">  702</span>&#160;                      <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;image_mask&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00703"></a><span class="lineno">  703</span>&#160; </div>
<div class="line"><a name="l00712"></a><span class="lineno">  712</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00713"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a3e9a0421d08b507f11781444a2ee0957">  713</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a3e9a0421d08b507f11781444a2ee0957">addFilledRectangle</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x_min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x_max, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y_min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y_max,  </div>
<div class="line"><a name="l00714"></a><span class="lineno">  714</span>&#160;                            <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;boxes&quot;</span>, <span class="keywordtype">double</span> opacity = 0.5);</div>
<div class="line"><a name="l00715"></a><span class="lineno">  715</span>&#160; </div>
<div class="line"><a name="l00727"></a><span class="lineno">  727</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00728"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ae20fe7a724a6d4b83f3da2f5cb4b787d">  728</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ae20fe7a724a6d4b83f3da2f5cb4b787d">addFilledRectangle</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x_min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x_max, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y_min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y_max,  </div>
<div class="line"><a name="l00729"></a><span class="lineno">  729</span>&#160;                            <span class="keywordtype">double</span> r, <span class="keywordtype">double</span> g, <span class="keywordtype">double</span> b,</div>
<div class="line"><a name="l00730"></a><span class="lineno">  730</span>&#160;                            <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;boxes&quot;</span>, <span class="keywordtype">double</span> opacity = 0.5);</div>
<div class="line"><a name="l00731"></a><span class="lineno">  731</span>&#160; </div>
<div class="line"><a name="l00743"></a><span class="lineno">  743</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00744"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a846229a2756b8672784c19e23753c322">  744</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a846229a2756b8672784c19e23753c322">addLine</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x_min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y_min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x_max, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y_max,</div>
<div class="line"><a name="l00745"></a><span class="lineno">  745</span>&#160;                 <span class="keywordtype">double</span> r, <span class="keywordtype">double</span> g, <span class="keywordtype">double</span> b, </div>
<div class="line"><a name="l00746"></a><span class="lineno">  746</span>&#160;                 <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;line&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00747"></a><span class="lineno">  747</span>&#160; </div>
<div class="line"><a name="l00756"></a><span class="lineno">  756</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00757"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a13a772196607d87cfcadd7abe4738165">  757</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a13a772196607d87cfcadd7abe4738165">addLine</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x_min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y_min, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x_max, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y_max,</div>
<div class="line"><a name="l00758"></a><span class="lineno">  758</span>&#160;                 <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;line&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00759"></a><span class="lineno">  759</span>&#160; </div>
<div class="line"><a name="l00770"></a><span class="lineno">  770</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00771"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a71b706f96118b8a1fb40a2a9e474165a">  771</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a71b706f96118b8a1fb40a2a9e474165a">addText</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y, <span class="keyword">const</span> std::string&amp; text,</div>
<div class="line"><a name="l00772"></a><span class="lineno">  772</span>&#160;                 <span class="keywordtype">double</span> r, <span class="keywordtype">double</span> g, <span class="keywordtype">double</span> b,</div>
<div class="line"><a name="l00773"></a><span class="lineno">  773</span>&#160;                 <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;line&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00774"></a><span class="lineno">  774</span>&#160; </div>
<div class="line"><a name="l00782"></a><span class="lineno">  782</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00783"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#abc30830923155965adaf9a96954c73d2">  783</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#abc30830923155965adaf9a96954c73d2">addText</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> x, <span class="keywordtype">unsigned</span> <span class="keywordtype">int</span> y, <span class="keyword">const</span> std::string&amp; text,</div>
<div class="line"><a name="l00784"></a><span class="lineno">  784</span>&#160;                 <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;line&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00785"></a><span class="lineno">  785</span>&#160; </div>
<div class="line"><a name="l00795"></a><span class="lineno">  795</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00796"></a><span class="lineno">  796</span>&#160;        addMask (<span class="keyword">const</span> <span class="keyword">typename</span> pcl::PointCloud&lt;T&gt;::ConstPtr &amp;image, <span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;T&gt;</a> &amp;mask, </div>
<div class="line"><a name="l00797"></a><span class="lineno">  797</span>&#160;                 <span class="keywordtype">double</span> r, <span class="keywordtype">double</span> g, <span class="keywordtype">double</span> b, </div>
<div class="line"><a name="l00798"></a><span class="lineno">  798</span>&#160;                 <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;image_mask&quot;</span>, <span class="keywordtype">double</span> opacity = 0.5);</div>
<div class="line"><a name="l00799"></a><span class="lineno">  799</span>&#160; </div>
<div class="line"><a name="l00806"></a><span class="lineno">  806</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00807"></a><span class="lineno">  807</span>&#160;        addMask (<span class="keyword">const</span> <span class="keyword">typename</span> pcl::PointCloud&lt;T&gt;::ConstPtr &amp;image, <span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;T&gt;</a> &amp;mask, </div>
<div class="line"><a name="l00808"></a><span class="lineno">  808</span>&#160;                 <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;image_mask&quot;</span>, <span class="keywordtype">double</span> opacity = 0.5);</div>
<div class="line"><a name="l00809"></a><span class="lineno">  809</span>&#160; </div>
<div class="line"><a name="l00820"></a><span class="lineno">  820</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00821"></a><span class="lineno">  821</span>&#160;        addPlanarPolygon (<span class="keyword">const</span> <span class="keyword">typename</span> pcl::PointCloud&lt;T&gt;::ConstPtr &amp;image, <span class="keyword">const</span> <a class="code" href="classpcl_1_1_planar_polygon.html">pcl::PlanarPolygon&lt;T&gt;</a> &amp;polygon, </div>
<div class="line"><a name="l00822"></a><span class="lineno">  822</span>&#160;                          <span class="keywordtype">double</span> r, <span class="keywordtype">double</span> g, <span class="keywordtype">double</span> b, </div>
<div class="line"><a name="l00823"></a><span class="lineno">  823</span>&#160;                          <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;planar_polygon&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00824"></a><span class="lineno">  824</span>&#160; </div>
<div class="line"><a name="l00832"></a><span class="lineno">  832</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00833"></a><span class="lineno">  833</span>&#160;        addPlanarPolygon (<span class="keyword">const</span> <span class="keyword">typename</span> pcl::PointCloud&lt;T&gt;::ConstPtr &amp;image, <span class="keyword">const</span> <a class="code" href="classpcl_1_1_planar_polygon.html">pcl::PlanarPolygon&lt;T&gt;</a> &amp;polygon, </div>
<div class="line"><a name="l00834"></a><span class="lineno">  834</span>&#160;                          <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;planar_polygon&quot;</span>, <span class="keywordtype">double</span> opacity = 1.0);</div>
<div class="line"><a name="l00835"></a><span class="lineno">  835</span>&#160; </div>
<div class="line"><a name="l00842"></a><span class="lineno">  842</span>&#160;        <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00843"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a5b3898fbeb4d614ce8930d8a3febfaf9">  843</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a5b3898fbeb4d614ce8930d8a3febfaf9">addLayer</a> (<span class="keyword">const</span> std::string &amp;layer_id, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">double</span> opacity = 0.5);</div>
<div class="line"><a name="l00844"></a><span class="lineno">  844</span>&#160; </div>
<div class="line"><a name="l00848"></a><span class="lineno">  848</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00849"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a5d3bc3c84193eaa26cc84820fb22254b">  849</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a5d3bc3c84193eaa26cc84820fb22254b">removeLayer</a> (<span class="keyword">const</span> std::string &amp;layer_id);</div>
<div class="line"><a name="l00850"></a><span class="lineno">  850</span>&#160; </div>
<div class="line"><a name="l00858"></a><span class="lineno">  858</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> Po<span class="keywordtype">int</span>T&gt; <span class="keywordtype">bool</span></div>
<div class="line"><a name="l00859"></a><span class="lineno">  859</span>&#160;        showCorrespondences (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;PointT&gt;</a> &amp;source_img,</div>
<div class="line"><a name="l00860"></a><span class="lineno">  860</span>&#160;                             <span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;PointT&gt;</a> &amp;target_img,</div>
<div class="line"><a name="l00861"></a><span class="lineno">  861</span>&#160;                             <span class="keyword">const</span> pcl::Correspondences &amp;correspondences,</div>
<div class="line"><a name="l00862"></a><span class="lineno">  862</span>&#160;                             <span class="keywordtype">int</span> nth = 1,</div>
<div class="line"><a name="l00863"></a><span class="lineno">  863</span>&#160;                             <span class="keyword">const</span> std::string &amp;layer_id = <span class="stringliteral">&quot;correspondences&quot;</span>);</div>
<div class="line"><a name="l00864"></a><span class="lineno">  864</span>&#160; </div>
<div class="line"><a name="l00865"></a><span class="lineno">  865</span>&#160;      <span class="keyword">protected</span>:</div>
<div class="line"><a name="l00867"></a><span class="lineno">  867</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00868"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ae9053b46268ff4cbb3cb9200099302a0">  868</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ae9053b46268ff4cbb3cb9200099302a0">render</a> ();</div>
<div class="line"><a name="l00869"></a><span class="lineno">  869</span>&#160; </div>
<div class="line"><a name="l00876"></a><span class="lineno">  876</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00877"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a3b9c1ff3ca1fe64a54321f3d6da9599c">  877</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a3b9c1ff3ca1fe64a54321f3d6da9599c">convertIntensityCloudToUChar</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::Intensity&gt;</a> &amp;cloud,</div>
<div class="line"><a name="l00878"></a><span class="lineno">  878</span>&#160;                                boost::shared_array&lt;unsigned char&gt; data);</div>
<div class="line"><a name="l00879"></a><span class="lineno">  879</span>&#160; </div>
<div class="line"><a name="l00886"></a><span class="lineno">  886</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00887"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#aee92b2fc2a135119c611e4dbb5639281">  887</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#aee92b2fc2a135119c611e4dbb5639281">convertIntensityCloud8uToUChar</a> (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;pcl::Intensity8u&gt;</a> &amp;cloud,</div>
<div class="line"><a name="l00888"></a><span class="lineno">  888</span>&#160;                                boost::shared_array&lt;unsigned char&gt; data);</div>
<div class="line"><a name="l00889"></a><span class="lineno">  889</span>&#160; </div>
<div class="line"><a name="l00896"></a><span class="lineno">  896</span>&#160;        <span class="keyword">template</span> &lt;<span class="keyword">typename</span> T&gt; <span class="keywordtype">void</span></div>
<div class="line"><a name="l00897"></a><span class="lineno">  897</span>&#160;        convertRGBCloudToUChar (<span class="keyword">const</span> <a class="code" href="classpcl_1_1_point_cloud.html">pcl::PointCloud&lt;T&gt;</a> &amp;cloud,</div>
<div class="line"><a name="l00898"></a><span class="lineno">  898</span>&#160;                                boost::shared_array&lt;unsigned char&gt; &amp;data);</div>
<div class="line"><a name="l00899"></a><span class="lineno">  899</span>&#160; </div>
<div class="line"><a name="l00901"></a><span class="lineno">  901</span>&#160;        <span class="keywordtype">void</span></div>
<div class="line"><a name="l00902"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a107ca36cb221542e3c53e792bc27c67f">  902</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a107ca36cb221542e3c53e792bc27c67f">resetStoppedFlag</a> () { stopped_ = <span class="keyword">false</span>; }</div>
<div class="line"><a name="l00903"></a><span class="lineno">  903</span>&#160; </div>
<div class="line"><a name="l00907"></a><span class="lineno">  907</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00908"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a9790aea3227a7974531dcc848a1f172b">  908</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a9790aea3227a7974531dcc848a1f172b">emitMouseEvent</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> event_id);</div>
<div class="line"><a name="l00909"></a><span class="lineno">  909</span>&#160;        </div>
<div class="line"><a name="l00913"></a><span class="lineno">  913</span>&#160;        <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00914"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ab4473dcb0b7e2d83adb520be23a883f5">  914</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ab4473dcb0b7e2d83adb520be23a883f5">emitKeyboardEvent</a> (<span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> event_id);</div>
<div class="line"><a name="l00915"></a><span class="lineno">  915</span>&#160;        </div>
<div class="line"><a name="l00916"></a><span class="lineno">  916</span>&#160;        <span class="comment">// Callbacks used to register for vtk command</span></div>
<div class="line"><a name="l00917"></a><span class="lineno">  917</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00918"></a><span class="lineno">  918</span>&#160;        MouseCallback (vtkObject*, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> eid, <span class="keywordtype">void</span>* clientdata, <span class="keywordtype">void</span> *calldata);</div>
<div class="line"><a name="l00919"></a><span class="lineno">  919</span>&#160;        <span class="keyword">static</span> <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00920"></a><span class="lineno">  920</span>&#160;        KeyboardCallback (vtkObject*, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> eid, <span class="keywordtype">void</span>* clientdata, <span class="keywordtype">void</span> *calldata);</div>
<div class="line"><a name="l00921"></a><span class="lineno">  921</span>&#160;        </div>
<div class="line"><a name="l00922"></a><span class="lineno">  922</span>&#160;      <span class="keyword">protected</span>: <span class="comment">// types</span></div>
<div class="line"><a name="l00923"></a><span class="lineno"><a class="line" href="structpcl_1_1visualization_1_1_image_viewer_1_1_exit_main_loop_timer_callback.html">  923</a></span>&#160;        <span class="keyword">struct </span><a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_exit_main_loop_timer_callback.html">ExitMainLoopTimerCallback</a> : <span class="keyword">public</span> vtkCommand</div>
<div class="line"><a name="l00924"></a><span class="lineno">  924</span>&#160;        {</div>
<div class="line"><a name="l00925"></a><span class="lineno">  925</span>&#160;          <a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_exit_main_loop_timer_callback.html">ExitMainLoopTimerCallback</a> () : right_timer_id (), window () {}</div>
<div class="line"><a name="l00926"></a><span class="lineno">  926</span>&#160; </div>
<div class="line"><a name="l00927"></a><span class="lineno">  927</span>&#160;          <span class="keyword">static</span> <a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_exit_main_loop_timer_callback.html">ExitMainLoopTimerCallback</a>* New ()</div>
<div class="line"><a name="l00928"></a><span class="lineno">  928</span>&#160;          {</div>
<div class="line"><a name="l00929"></a><span class="lineno">  929</span>&#160;            <span class="keywordflow">return</span> (<span class="keyword">new</span> <a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_exit_main_loop_timer_callback.html">ExitMainLoopTimerCallback</a>);</div>
<div class="line"><a name="l00930"></a><span class="lineno">  930</span>&#160;          }</div>
<div class="line"><a name="l00931"></a><span class="lineno">  931</span>&#160;          <span class="keyword">virtual</span> <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00932"></a><span class="lineno">  932</span>&#160;          Execute (vtkObject* vtkNotUsed (caller), <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> event_id, <span class="keywordtype">void</span>* call_data)</div>
<div class="line"><a name="l00933"></a><span class="lineno">  933</span>&#160;          {</div>
<div class="line"><a name="l00934"></a><span class="lineno">  934</span>&#160;            <span class="keywordflow">if</span> (event_id != vtkCommand::TimerEvent)</div>
<div class="line"><a name="l00935"></a><span class="lineno">  935</span>&#160;              <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00936"></a><span class="lineno">  936</span>&#160;            <span class="keywordtype">int</span> timer_id = *<span class="keyword">static_cast&lt;</span><span class="keywordtype">int</span>*<span class="keyword">&gt;</span> (call_data);</div>
<div class="line"><a name="l00937"></a><span class="lineno">  937</span>&#160;            <span class="keywordflow">if</span> (timer_id != right_timer_id)</div>
<div class="line"><a name="l00938"></a><span class="lineno">  938</span>&#160;              <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00939"></a><span class="lineno">  939</span>&#160;<span class="preprocessor">#if ((VTK_MAJOR_VERSION == 5) &amp;&amp; (VTK_MINOR_VERSION &lt;= 4))</span></div>
<div class="line"><a name="l00940"></a><span class="lineno">  940</span>&#160;            window-&gt;interactor_-&gt;stopLoop ();</div>
<div class="line"><a name="l00941"></a><span class="lineno">  941</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00942"></a><span class="lineno">  942</span>&#160;            window-&gt;interactor_-&gt;TerminateApp ();</div>
<div class="line"><a name="l00943"></a><span class="lineno">  943</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00944"></a><span class="lineno">  944</span>&#160;          }</div>
<div class="line"><a name="l00945"></a><span class="lineno">  945</span>&#160;          <span class="keywordtype">int</span> right_timer_id;</div>
<div class="line"><a name="l00946"></a><span class="lineno">  946</span>&#160;          <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html">ImageViewer</a>* window;</div>
<div class="line"><a name="l00947"></a><span class="lineno">  947</span>&#160;        };</div>
<div class="line"><a name="l00948"></a><span class="lineno"><a class="line" href="structpcl_1_1visualization_1_1_image_viewer_1_1_exit_callback.html">  948</a></span>&#160;        <span class="keyword">struct </span><a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_exit_callback.html">ExitCallback</a> : <span class="keyword">public</span> vtkCommand</div>
<div class="line"><a name="l00949"></a><span class="lineno">  949</span>&#160;        {</div>
<div class="line"><a name="l00950"></a><span class="lineno">  950</span>&#160;          <a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_exit_callback.html">ExitCallback</a> () : window () {}</div>
<div class="line"><a name="l00951"></a><span class="lineno">  951</span>&#160; </div>
<div class="line"><a name="l00952"></a><span class="lineno">  952</span>&#160;          <span class="keyword">static</span> <a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_exit_callback.html">ExitCallback</a>* New ()</div>
<div class="line"><a name="l00953"></a><span class="lineno">  953</span>&#160;          {</div>
<div class="line"><a name="l00954"></a><span class="lineno">  954</span>&#160;            <span class="keywordflow">return</span> (<span class="keyword">new</span> <a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_exit_callback.html">ExitCallback</a>);</div>
<div class="line"><a name="l00955"></a><span class="lineno">  955</span>&#160;          }</div>
<div class="line"><a name="l00956"></a><span class="lineno">  956</span>&#160;          <span class="keyword">virtual</span> <span class="keywordtype">void</span> </div>
<div class="line"><a name="l00957"></a><span class="lineno">  957</span>&#160;          Execute (vtkObject*, <span class="keywordtype">unsigned</span> <span class="keywordtype">long</span> event_id, <span class="keywordtype">void</span>*)</div>
<div class="line"><a name="l00958"></a><span class="lineno">  958</span>&#160;          {</div>
<div class="line"><a name="l00959"></a><span class="lineno">  959</span>&#160;            <span class="keywordflow">if</span> (event_id != vtkCommand::ExitEvent)</div>
<div class="line"><a name="l00960"></a><span class="lineno">  960</span>&#160;              <span class="keywordflow">return</span>;</div>
<div class="line"><a name="l00961"></a><span class="lineno">  961</span>&#160;            window-&gt;stopped_ = <span class="keyword">true</span>;</div>
<div class="line"><a name="l00962"></a><span class="lineno">  962</span>&#160;<span class="preprocessor">#if ((VTK_MAJOR_VERSION == 5) &amp;&amp; (VTK_MINOR_VERSION &lt;= 4))</span></div>
<div class="line"><a name="l00963"></a><span class="lineno">  963</span>&#160;            window-&gt;interactor_-&gt;stopLoop ();</div>
<div class="line"><a name="l00964"></a><span class="lineno">  964</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00965"></a><span class="lineno">  965</span>&#160;            window-&gt;interactor_-&gt;TerminateApp ();</div>
<div class="line"><a name="l00966"></a><span class="lineno">  966</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l00967"></a><span class="lineno">  967</span>&#160;          }</div>
<div class="line"><a name="l00968"></a><span class="lineno">  968</span>&#160;          <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html">ImageViewer</a>* window;</div>
<div class="line"><a name="l00969"></a><span class="lineno">  969</span>&#160;        };</div>
<div class="line"><a name="l00970"></a><span class="lineno">  970</span>&#160; </div>
<div class="line"><a name="l00971"></a><span class="lineno">  971</span>&#160;    <span class="keyword">private</span>:</div>
<div class="line"><a name="l00973"></a><span class="lineno"><a class="line" href="structpcl_1_1visualization_1_1_image_viewer_1_1_layer.html">  973</a></span>&#160;        <span class="keyword">struct </span><a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_layer.html">Layer</a></div>
<div class="line"><a name="l00974"></a><span class="lineno">  974</span>&#160;        {</div>
<div class="line"><a name="l00975"></a><span class="lineno">  975</span>&#160;          <a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_layer.html">Layer</a> () : actor (), layer_name () {}</div>
<div class="line"><a name="l00976"></a><span class="lineno">  976</span>&#160;          <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;vtkContextActor&gt;</a> actor;</div>
<div class="line"><a name="l00977"></a><span class="lineno">  977</span>&#160;          std::string layer_name;</div>
<div class="line"><a name="l00978"></a><span class="lineno">  978</span>&#160;        };</div>
<div class="line"><a name="l00979"></a><span class="lineno">  979</span>&#160; </div>
<div class="line"><a name="l00980"></a><span class="lineno">  980</span>&#160;        <span class="keyword">typedef</span> std::vector&lt;Layer&gt; LayerMap;</div>
<div class="line"><a name="l00981"></a><span class="lineno">  981</span>&#160; </div>
<div class="line"><a name="l00989"></a><span class="lineno">  989</span>&#160;        LayerMap::iterator</div>
<div class="line"><a name="l00990"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a49f2956a29a84bbcb79caec30cf59986">  990</a></span>&#160;        <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a49f2956a29a84bbcb79caec30cf59986">createLayer</a> (<span class="keyword">const</span> std::string &amp;layer_id, <span class="keywordtype">int</span> width, <span class="keywordtype">int</span> height, <span class="keywordtype">double</span> opacity = 0.5, <span class="keywordtype">bool</span> fill_box = <span class="keyword">true</span>);</div>
<div class="line"><a name="l00991"></a><span class="lineno">  991</span>&#160; </div>
<div class="line"><a name="l00992"></a><span class="lineno">  992</span>&#160;        boost::signals2::signal&lt;void (<span class="keyword">const</span> <a class="code" href="classpcl_1_1visualization_1_1_mouse_event.html">pcl::visualization::MouseEvent</a>&amp;)&gt; mouse_signal_;</div>
<div class="line"><a name="l00993"></a><span class="lineno">  993</span>&#160;        boost::signals2::signal&lt;void (<span class="keyword">const</span> <a class="code" href="classpcl_1_1visualization_1_1_keyboard_event.html">pcl::visualization::KeyboardEvent</a>&amp;)&gt; keyboard_signal_;</div>
<div class="line"><a name="l00994"></a><span class="lineno">  994</span>&#160;        </div>
<div class="line"><a name="l00995"></a><span class="lineno">  995</span>&#160;<span class="preprocessor">#if ((VTK_MAJOR_VERSION == 5) &amp;&amp; (VTK_MINOR_VERSION &lt;= 4))</span></div>
<div class="line"><a name="l00996"></a><span class="lineno">  996</span>&#160;        <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;PCLVisualizerInteractor&gt;</a> interactor_;</div>
<div class="line"><a name="l00997"></a><span class="lineno">  997</span>&#160;<span class="preprocessor">#else</span></div>
<div class="line"><a name="l00998"></a><span class="lineno">  998</span>&#160;        <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;vtkRenderWindowInteractor&gt;</a> interactor_;</div>
<div class="line"><a name="l00999"></a><span class="lineno">  999</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01000"></a><span class="lineno"> 1000</span>&#160;        <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;vtkCallbackCommand&gt;</a> mouse_command_;</div>
<div class="line"><a name="l01001"></a><span class="lineno"> 1001</span>&#160;        <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;vtkCallbackCommand&gt;</a> keyboard_command_;</div>
<div class="line"><a name="l01002"></a><span class="lineno"> 1002</span>&#160; </div>
<div class="line"><a name="l01004"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#aae0d2a6924edd2f5603abb33a1f58b31"> 1004</a></span>&#160;        <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;ExitMainLoopTimerCallback&gt;</a> <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#aae0d2a6924edd2f5603abb33a1f58b31">exit_main_loop_timer_callback_</a>;</div>
<div class="line"><a name="l01005"></a><span class="lineno"> 1005</span>&#160;        <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;ExitCallback&gt;</a> exit_callback_;</div>
<div class="line"><a name="l01006"></a><span class="lineno"> 1006</span>&#160; </div>
<div class="line"><a name="l01008"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a0537b49cd3ef88f2ab29353c60be8eaa"> 1008</a></span>&#160;        <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;vtkImageViewer&gt;</a> <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a0537b49cd3ef88f2ab29353c60be8eaa">image_viewer_</a>;</div>
<div class="line"><a name="l01009"></a><span class="lineno"> 1009</span>&#160; </div>
<div class="line"><a name="l01011"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a04be616d67f49a2553f33b09c74e36f0"> 1011</a></span>&#160;        <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;vtkRenderWindow&gt;</a> <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a04be616d67f49a2553f33b09c74e36f0">win_</a>;</div>
<div class="line"><a name="l01012"></a><span class="lineno"> 1012</span>&#160; </div>
<div class="line"><a name="l01014"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#aa8b23b888988eb33de555b0997dab464"> 1014</a></span>&#160;        <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;vtkRenderer&gt;</a> <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#aa8b23b888988eb33de555b0997dab464">ren_</a>;</div>
<div class="line"><a name="l01015"></a><span class="lineno"> 1015</span>&#160; </div>
<div class="line"><a name="l01016"></a><span class="lineno"> 1016</span>&#160;<span class="preprocessor">#if !((VTK_MAJOR_VERSION == 5) &amp;&amp; (VTK_MINOR_VERSION &lt;= 10))</span></div>
<div class="line"><a name="l01018"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a6271c3f1a05a938abaea6511de8ac07a"> 1018</a></span>&#160;        <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;vtkImageSlice&gt;</a> <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a6271c3f1a05a938abaea6511de8ac07a">slice_</a>;</div>
<div class="line"><a name="l01019"></a><span class="lineno"> 1019</span>&#160;<span class="preprocessor">#endif</span></div>
<div class="line"><a name="l01021"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#ad32038d746d8cd0cdd373d683c03c0f8"> 1021</a></span>&#160;        <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;ImageViewerInteractorStyle&gt;</a> <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#ad32038d746d8cd0cdd373d683c03c0f8">interactor_style_</a>;</div>
<div class="line"><a name="l01022"></a><span class="lineno"> 1022</span>&#160; </div>
<div class="line"><a name="l01024"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a69f2c97585c64cfd2554318c626a51a8"> 1024</a></span>&#160;        boost::shared_array&lt;unsigned char&gt; <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a69f2c97585c64cfd2554318c626a51a8">data_</a>;</div>
<div class="line"><a name="l01025"></a><span class="lineno"> 1025</span>&#160;  </div>
<div class="line"><a name="l01027"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a63e797d6b62543b88656892a52acaa13"> 1027</a></span>&#160;        <span class="keywordtype">size_t</span> <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a63e797d6b62543b88656892a52acaa13">data_size_</a>;</div>
<div class="line"><a name="l01028"></a><span class="lineno"> 1028</span>&#160; </div>
<div class="line"><a name="l01030"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a86c3e41e3f05a9bd4072a8af01047593"> 1030</a></span>&#160;        <span class="keywordtype">bool</span> <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a86c3e41e3f05a9bd4072a8af01047593">stopped_</a>;</div>
<div class="line"><a name="l01031"></a><span class="lineno"> 1031</span>&#160; </div>
<div class="line"><a name="l01033"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a738e7fe93eb04dbb8fcf1ed34ce0ab88"> 1033</a></span>&#160;        <span class="keywordtype">int</span> <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a738e7fe93eb04dbb8fcf1ed34ce0ab88">timer_id_</a>;</div>
<div class="line"><a name="l01034"></a><span class="lineno"> 1034</span>&#160; </div>
<div class="line"><a name="l01035"></a><span class="lineno"> 1035</span>&#160;        <span class="comment">// /** \brief Internal blender used to overlay 2D geometry over the image. */</span></div>
<div class="line"><a name="l01036"></a><span class="lineno"> 1036</span>&#160;        <span class="comment">// vtkSmartPointer&lt;vtkImageBlend&gt; blend_;</span></div>
<div class="line"><a name="l01037"></a><span class="lineno"> 1037</span>&#160; </div>
<div class="line"><a name="l01039"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a7874619bb6929047578a1e66596649da"> 1039</a></span>&#160;        LayerMap <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a7874619bb6929047578a1e66596649da">layer_map_</a>;</div>
<div class="line"><a name="l01040"></a><span class="lineno"> 1040</span>&#160; </div>
<div class="line"><a name="l01042"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#af8028c171e53a93c4d819d63cadbe4a9"> 1042</a></span>&#160;        <a class="code" href="classvtk_smart_pointer.html">vtkSmartPointer&lt;vtkImageFlip&gt;</a> <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#af8028c171e53a93c4d819d63cadbe4a9">algo_</a>;</div>
<div class="line"><a name="l01043"></a><span class="lineno"> 1043</span>&#160; </div>
<div class="line"><a name="l01047"></a><span class="lineno"><a class="line" href="classpcl_1_1visualization_1_1_image_viewer.html#a5c6fd562663c2d5a67fa80226d69fcd0"> 1047</a></span>&#160;        std::vector&lt;unsigned char*&gt; <a class="code" href="classpcl_1_1visualization_1_1_image_viewer.html#a5c6fd562663c2d5a67fa80226d69fcd0">image_data_</a>;</div>
<div class="line"><a name="l01048"></a><span class="lineno"> 1048</span>&#160; </div>
<div class="line"><a name="l01049"></a><span class="lineno"><a class="line" href="structpcl_1_1visualization_1_1_image_viewer_1_1_layer_comparator.html"> 1049</a></span>&#160;        <span class="keyword">struct </span><a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_layer_comparator.html">LayerComparator</a></div>
<div class="line"><a name="l01050"></a><span class="lineno"> 1050</span>&#160;        {</div>
<div class="line"><a name="l01051"></a><span class="lineno"> 1051</span>&#160;          <a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_layer_comparator.html">LayerComparator</a> (<span class="keyword">const</span> std::string &amp;str) : str_ (str) {}</div>
<div class="line"><a name="l01052"></a><span class="lineno"> 1052</span>&#160;          <span class="keyword">const</span> std::string &amp;str_;</div>
<div class="line"><a name="l01053"></a><span class="lineno"> 1053</span>&#160; </div>
<div class="line"><a name="l01054"></a><span class="lineno"> 1054</span>&#160;          <span class="keywordtype">bool</span></div>
<div class="line"><a name="l01055"></a><span class="lineno"> 1055</span>&#160;          operator () (<span class="keyword">const</span> <a class="code" href="structpcl_1_1visualization_1_1_image_viewer_1_1_layer.html">Layer</a> &amp;layer)</div>
<div class="line"><a name="l01056"></a><span class="lineno"> 1056</span>&#160;          {</div>
<div class="line"><a name="l01057"></a><span class="lineno"> 1057</span>&#160;            <span class="keywordflow">return</span> (layer.layer_name == str_);</div>
<div class="line"><a name="l01058"></a><span class="lineno"> 1058</span>&#160;          }</div>
<div class="line"><a name="l01059"></a><span class="lineno"> 1059</span>&#160;        };        </div>
<div class="line"><a name="l01060"></a><span class="lineno"> 1060</span>&#160;        </div>
<div class="line"><a name="l01061"></a><span class="lineno"> 1061</span>&#160;      <span class="keyword">public</span>:</div>
<div class="line"><a name="l01062"></a><span class="lineno"> 1062</span>&#160;        EIGEN_MAKE_ALIGNED_OPERATOR_NEW</div>
<div class="line"><a name="l01063"></a><span class="lineno"> 1063</span>&#160;    };</div>
<div class="line"><a name="l01064"></a><span class="lineno"> 1064</span>&#160;  }</div>
<div class="line"><a name="l01065"></a><span class="lineno"> 1065</span>&#160;}</div>
<div class="line"><a name="l01066"></a><span class="lineno"> 1066</span>&#160; </div>
<div class="line"><a name="l01067"></a><span class="lineno"> 1067</span>&#160;<span class="preprocessor">#include &lt;pcl/visualization/impl/image_viewer.hpp&gt;</span></div>
<div class="line"><a name="l01068"></a><span class="lineno"> 1068</span>&#160; </div>
<div class="line"><a name="l01069"></a><span class="lineno"> 1069</span>&#160;<span class="preprocessor">#endif  </span><span class="comment">/* __IMAGE_VISUALIZER_H__ */</span><span class="preprocessor"></span></div>
<div class="line"><a name="l01070"></a><span class="lineno"> 1070</span>&#160; </div>
<div class="ttc" id="aclasspcl_1_1_planar_polygon_html"><div class="ttname"><a href="classpcl_1_1_planar_polygon.html">pcl::PlanarPolygon</a></div><div class="ttdoc">PlanarPolygon represents a planar (2D) polygon, potentially in a 3D space.</div><div class="ttdef"><b>Definition:</b> planar_polygon.h:55</div></div>
<div class="ttc" id="aclasspcl_1_1_point_cloud_html"><div class="ttname"><a href="classpcl_1_1_point_cloud.html">pcl::PointCloud</a></div><div class="ttdoc">PointCloud represents the base class in PCL for storing collections of 3D points.</div><div class="ttdef"><b>Definition:</b> point_cloud.h:173</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html">pcl::visualization::ImageViewer</a></div><div class="ttdoc">ImageViewer is a class for 2D image visualization.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:119</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a04be616d67f49a2553f33b09c74e36f0"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a04be616d67f49a2553f33b09c74e36f0">pcl::visualization::ImageViewer::win_</a></div><div class="ttdeci">vtkSmartPointer&lt; vtkRenderWindow &gt; win_</div><div class="ttdoc">The render window.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1011</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a0506f8e1f6d8ba95973dfdfdeb131ba0"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a0506f8e1f6d8ba95973dfdfdeb131ba0">pcl::visualization::ImageViewer::markPoints</a></div><div class="ttdeci">void markPoints(const std::vector&lt; float &gt; &amp;uv, Vector3ub fg_color, Vector3ub bg_color=red_color, double size=3.0, const std::string &amp;layer_id=&quot;markers&quot;, double opacity=1.0)</div><div class="ttdoc">Sets the pixel at coordinates(u,v) to color while setting the neighborhood to another (float coordina...</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a0537b49cd3ef88f2ab29353c60be8eaa"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a0537b49cd3ef88f2ab29353c60be8eaa">pcl::visualization::ImageViewer::image_viewer_</a></div><div class="ttdeci">vtkSmartPointer&lt; vtkImageViewer &gt; image_viewer_</div><div class="ttdoc">The ImageViewer widget.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1008</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a0560bb62ee28db8d7312461a1b3bc025"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a0560bb62ee28db8d7312461a1b3bc025">pcl::visualization::ImageViewer::addRectangle</a></div><div class="ttdeci">bool addRectangle(unsigned int x_min, unsigned int x_max, unsigned int y_min, unsigned int y_max, const std::string &amp;layer_id=&quot;rectangles&quot;, double opacity=1.0)</div><div class="ttdoc">Add a 2D box and color its edges with a given color</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a0bf8630b973a4b0497f241568d0e6baa"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a0bf8630b973a4b0497f241568d0e6baa">pcl::visualization::ImageViewer::setWindowTitle</a></div><div class="ttdeci">void setWindowTitle(const std::string &amp;name)</div><div class="ttdoc">Set the window title name</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a0eae37d9f7fdd3e71dc95bea071198f3"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a0eae37d9f7fdd3e71dc95bea071198f3">pcl::visualization::ImageViewer::addRectangle</a></div><div class="ttdeci">bool addRectangle(const pcl::PointXY &amp;min_pt, const pcl::PointXY &amp;max_pt, const std::string &amp;layer_id=&quot;rectangles&quot;, double opacity=1.0)</div><div class="ttdoc">Add a 2D box and color its edges with a given color</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a107ca36cb221542e3c53e792bc27c67f"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a107ca36cb221542e3c53e792bc27c67f">pcl::visualization::ImageViewer::resetStoppedFlag</a></div><div class="ttdeci">void resetStoppedFlag()</div><div class="ttdoc">Set the stopped flag back to false</div><div class="ttdef"><b>Definition:</b> image_viewer.h:902</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a13a772196607d87cfcadd7abe4738165"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a13a772196607d87cfcadd7abe4738165">pcl::visualization::ImageViewer::addLine</a></div><div class="ttdeci">bool addLine(unsigned int x_min, unsigned int y_min, unsigned int x_max, unsigned int y_max, const std::string &amp;layer_id=&quot;line&quot;, double opacity=1.0)</div><div class="ttdoc">Add a 2D line with a given color</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a22fb868c8d32c6498c51184cdf3a2e26"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a22fb868c8d32c6498c51184cdf3a2e26">pcl::visualization::ImageViewer::registerMouseCallback</a></div><div class="ttdeci">boost::signals2::connection registerMouseCallback(boost::function&lt; void(const pcl::visualization::MouseEvent &amp;)&gt; cb)</div><div class="ttdoc">Register a callback function for mouse events</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a2406ecea1e68be3028bb4861478f5c2b"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a2406ecea1e68be3028bb4861478f5c2b">pcl::visualization::ImageViewer::showAngleImage</a></div><div class="ttdeci">void showAngleImage(const float *data, unsigned width, unsigned height, const std::string &amp;layer_id=&quot;angle_image&quot;, double opacity=1.0)</div><div class="ttdoc">Show a 2D image on screen representing angle data.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a33e79bc49719cc7e2005f3cf76bff1f6"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a33e79bc49719cc7e2005f3cf76bff1f6">pcl::visualization::ImageViewer::showRGBImage</a></div><div class="ttdeci">void showRGBImage(const unsigned char *data, unsigned width, unsigned height, const std::string &amp;layer_id=&quot;rgb_image&quot;, double opacity=1.0)</div><div class="ttdoc">Show a 2D RGB image on screen.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a3b9c1ff3ca1fe64a54321f3d6da9599c"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a3b9c1ff3ca1fe64a54321f3d6da9599c">pcl::visualization::ImageViewer::convertIntensityCloudToUChar</a></div><div class="ttdeci">void convertIntensityCloudToUChar(const pcl::PointCloud&lt; pcl::Intensity &gt; &amp;cloud, boost::shared_array&lt; unsigned char &gt; data)</div><div class="ttdoc">Convert the Intensity information in a PointCloud&lt;Intensity&gt; to an unsigned char array</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a3cb5442511b386e1463680ff0f01f288"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a3cb5442511b386e1463680ff0f01f288">pcl::visualization::ImageViewer::addMonoImage</a></div><div class="ttdeci">void addMonoImage(const pcl::PointCloud&lt; pcl::Intensity8u &gt;::ConstPtr &amp;cloud, const std::string &amp;layer_id=&quot;mono_image&quot;, double opacity=1.0)</div><div class="ttdoc">Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update).</div><div class="ttdef"><b>Definition:</b> image_viewer.h:224</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a3d4270eb07ff05d02ec9ddbb417691c7"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a3d4270eb07ff05d02ec9ddbb417691c7">pcl::visualization::ImageViewer::showRGBImage</a></div><div class="ttdeci">void showRGBImage(const typename pcl::PointCloud&lt; T &gt;::ConstPtr &amp;cloud, const std::string &amp;layer_id=&quot;rgb_image&quot;, double opacity=1.0)</div><div class="ttdoc">Show a 2D image on screen, obtained from the RGB channel of a point cloud.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:276</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a3e9a0421d08b507f11781444a2ee0957"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a3e9a0421d08b507f11781444a2ee0957">pcl::visualization::ImageViewer::addFilledRectangle</a></div><div class="ttdeci">bool addFilledRectangle(unsigned int x_min, unsigned int x_max, unsigned int y_min, unsigned int y_max, const std::string &amp;layer_id=&quot;boxes&quot;, double opacity=0.5)</div><div class="ttdoc">Add a 2D box and fill it in with a given color</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a3eb6e9560da820df593c85dbbd47af1c"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a3eb6e9560da820df593c85dbbd47af1c">pcl::visualization::ImageViewer::spinOnce</a></div><div class="ttdeci">void spinOnce(int time=1, bool force_redraw=true)</div><div class="ttdoc">Spin once method. Calls the interactor and updates the screen once.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a4717d079f67880bfc7a80b3731b6eada"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a4717d079f67880bfc7a80b3731b6eada">pcl::visualization::ImageViewer::addMonoImage</a></div><div class="ttdeci">void addMonoImage(const pcl::PointCloud&lt; pcl::Intensity &gt; &amp;cloud, const std::string &amp;layer_id=&quot;mono_image&quot;, double opacity=1.0)</div><div class="ttdoc">Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update).</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a49f2956a29a84bbcb79caec30cf59986"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a49f2956a29a84bbcb79caec30cf59986">pcl::visualization::ImageViewer::createLayer</a></div><div class="ttdeci">LayerMap::iterator createLayer(const std::string &amp;layer_id, int width, int height, double opacity=0.5, bool fill_box=true)</div><div class="ttdoc">Add a new 2D rendering layer to the viewer.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a52f7cd922decf854456c03a5de488050"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a52f7cd922decf854456c03a5de488050">pcl::visualization::ImageViewer::addRectangle</a></div><div class="ttdeci">bool addRectangle(const pcl::PointXY &amp;min_pt, const pcl::PointXY &amp;max_pt, double r, double g, double b, const std::string &amp;layer_id=&quot;rectangles&quot;, double opacity=1.0)</div><div class="ttdoc">Add a 2D box and color its edges with a given color</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a547fd16a365e5d47db69c82b2c932fbb"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a547fd16a365e5d47db69c82b2c932fbb">pcl::visualization::ImageViewer::addRectangle</a></div><div class="ttdeci">bool addRectangle(unsigned int x_min, unsigned int x_max, unsigned int y_min, unsigned int y_max, double r, double g, double b, const std::string &amp;layer_id=&quot;rectangles&quot;, double opacity=1.0)</div><div class="ttdoc">Add a 2D box and color its edges with a given color</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a5b3898fbeb4d614ce8930d8a3febfaf9"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a5b3898fbeb4d614ce8930d8a3febfaf9">pcl::visualization::ImageViewer::addLayer</a></div><div class="ttdeci">bool addLayer(const std::string &amp;layer_id, int width, int height, double opacity=0.5)</div><div class="ttdoc">Add a new 2D rendering layer to the viewer.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a5c6fd562663c2d5a67fa80226d69fcd0"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a5c6fd562663c2d5a67fa80226d69fcd0">pcl::visualization::ImageViewer::image_data_</a></div><div class="ttdeci">std::vector&lt; unsigned char * &gt; image_data_</div><div class="ttdoc">Internal data array. Used everytime add***Image is called. Cleared, everytime the render loop is exec...</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1047</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a5d3bc3c84193eaa26cc84820fb22254b"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a5d3bc3c84193eaa26cc84820fb22254b">pcl::visualization::ImageViewer::removeLayer</a></div><div class="ttdeci">void removeLayer(const std::string &amp;layer_id)</div><div class="ttdoc">Remove a 2D layer given by its ID.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a60fa47b0538b35974d7f63e741c5ef83"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a60fa47b0538b35974d7f63e741c5ef83">pcl::visualization::ImageViewer::addHalfAngleImage</a></div><div class="ttdeci">void addHalfAngleImage(const float *data, unsigned width, unsigned height, const std::string &amp;layer_id=&quot;half_angle_image&quot;, double opacity=1.0)</div><div class="ttdoc">Add a half angle 2D image layer, but do not render it (use spin/spinOnce to update).</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a6271c3f1a05a938abaea6511de8ac07a"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a6271c3f1a05a938abaea6511de8ac07a">pcl::visualization::ImageViewer::slice_</a></div><div class="ttdeci">vtkSmartPointer&lt; vtkImageSlice &gt; slice_</div><div class="ttdoc">Global prop. This is the actual &quot;actor&quot;.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1018</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a63e797d6b62543b88656892a52acaa13"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a63e797d6b62543b88656892a52acaa13">pcl::visualization::ImageViewer::data_size_</a></div><div class="ttdeci">size_t data_size_</div><div class="ttdoc">The data array (representing the image) size. Used internally.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1027</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a67179cecfc3ea0f0c1e16a33089cb24b"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a67179cecfc3ea0f0c1e16a33089cb24b">pcl::visualization::ImageViewer::registerKeyboardCallback</a></div><div class="ttdeci">boost::signals2::connection registerKeyboardCallback(boost::function&lt; void(const pcl::visualization::KeyboardEvent &amp;)&gt; cb)</div><div class="ttdoc">Register a callback boost::function for keyboard events</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a69f2c97585c64cfd2554318c626a51a8"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a69f2c97585c64cfd2554318c626a51a8">pcl::visualization::ImageViewer::data_</a></div><div class="ttdeci">boost::shared_array&lt; unsigned char &gt; data_</div><div class="ttdoc">The data array representing the image. Used internally.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1024</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a71b706f96118b8a1fb40a2a9e474165a"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a71b706f96118b8a1fb40a2a9e474165a">pcl::visualization::ImageViewer::addText</a></div><div class="ttdeci">bool addText(unsigned int x, unsigned int y, const std::string &amp;text, double r, double g, double b, const std::string &amp;layer_id=&quot;line&quot;, double opacity=1.0)</div><div class="ttdoc">Add a 2D text with a given color</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a738e7fe93eb04dbb8fcf1ed34ce0ab88"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a738e7fe93eb04dbb8fcf1ed34ce0ab88">pcl::visualization::ImageViewer::timer_id_</a></div><div class="ttdeci">int timer_id_</div><div class="ttdoc">Global timer ID. Used in destructor only.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1033</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a764f707517a6f5a94d6afd9441508794"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a764f707517a6f5a94d6afd9441508794">pcl::visualization::ImageViewer::addMonoImage</a></div><div class="ttdeci">void addMonoImage(const unsigned char *data, unsigned width, unsigned height, const std::string &amp;layer_id=&quot;mono_image&quot;, double opacity=1.0)</div><div class="ttdoc">Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update).</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a768b636bbac4ee67a5aa86fd4b239b12"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a768b636bbac4ee67a5aa86fd4b239b12">pcl::visualization::ImageViewer::registerKeyboardCallback</a></div><div class="ttdeci">boost::signals2::connection registerKeyboardCallback(void(*callback)(const pcl::visualization::KeyboardEvent &amp;, void *), void *cookie=NULL)</div><div class="ttdoc">Register a callback function for keyboard events</div><div class="ttdef"><b>Definition:</b> image_viewer.h:481</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a775047bc2b18889522caab74751ae6f3"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a775047bc2b18889522caab74751ae6f3">pcl::visualization::ImageViewer::showFloatImage</a></div><div class="ttdeci">void showFloatImage(const float *data, unsigned int width, unsigned int height, float min_value=std::numeric_limits&lt; float &gt;::min(), float max_value=std::numeric_limits&lt; float &gt;::max(), bool grayscale=false, const std::string &amp;layer_id=&quot;float_image&quot;, double opacity=1.0)</div><div class="ttdoc">Show a 2D image (float) on screen.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a78653afaa6dc910ce241b9bf8cea45f6"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a78653afaa6dc910ce241b9bf8cea45f6">pcl::visualization::ImageViewer::spin</a></div><div class="ttdeci">void spin()</div><div class="ttdoc">Spin method. Calls the interactor and runs an internal loop.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a7874619bb6929047578a1e66596649da"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a7874619bb6929047578a1e66596649da">pcl::visualization::ImageViewer::layer_map_</a></div><div class="ttdeci">LayerMap layer_map_</div><div class="ttdoc">Internal list with different 2D layers shapes.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1039</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a7dd0425191252de387726ab970b330a7"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a7dd0425191252de387726ab970b330a7">pcl::visualization::ImageViewer::showMonoImage</a></div><div class="ttdeci">void showMonoImage(const pcl::PointCloud&lt; pcl::Intensity8u &gt;::ConstPtr &amp;cloud, const std::string &amp;layer_id=&quot;mono_image&quot;, double opacity=1.0)</div><div class="ttdoc">Show a monochrome 2D image on screen.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:212</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a811c0ab2c8ef24d2edd03f235630121b"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a811c0ab2c8ef24d2edd03f235630121b">pcl::visualization::ImageViewer::markPoints</a></div><div class="ttdeci">void markPoints(const std::vector&lt; int &gt; &amp;uv, Vector3ub fg_color, Vector3ub bg_color=red_color, double size=3.0, const std::string &amp;layer_id=&quot;markers&quot;, double opacity=1.0)</div><div class="ttdoc">Sets the pixel at coordinates(u,v) to color while setting the neighborhood to another</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a83262fe4addf159963e9eeb5bc918153"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a83262fe4addf159963e9eeb5bc918153">pcl::visualization::ImageViewer::showHalfAngleImage</a></div><div class="ttdeci">void showHalfAngleImage(const float *data, unsigned width, unsigned height, const std::string &amp;layer_id=&quot;half_angle_image&quot;, double opacity=1.0)</div><div class="ttdoc">Show a 2D image on screen representing half angle data.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a846229a2756b8672784c19e23753c322"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a846229a2756b8672784c19e23753c322">pcl::visualization::ImageViewer::addLine</a></div><div class="ttdeci">bool addLine(unsigned int x_min, unsigned int y_min, unsigned int x_max, unsigned int y_max, double r, double g, double b, const std::string &amp;layer_id=&quot;line&quot;, double opacity=1.0)</div><div class="ttdoc">Add a 2D line with a given color</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a85f3a0290a4b9e4c29b847e8aa06679d"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a85f3a0290a4b9e4c29b847e8aa06679d">pcl::visualization::ImageViewer::addMonoImage</a></div><div class="ttdeci">void addMonoImage(const pcl::PointCloud&lt; pcl::Intensity8u &gt; &amp;cloud, const std::string &amp;layer_id=&quot;mono_image&quot;, double opacity=1.0)</div><div class="ttdoc">Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update).</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a8635790ba434ac25d5996b6747a35281"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a8635790ba434ac25d5996b6747a35281">pcl::visualization::ImageViewer::markPoint</a></div><div class="ttdeci">void markPoint(size_t u, size_t v, Vector3ub fg_color, Vector3ub bg_color=red_color, double radius=3.0, const std::string &amp;layer_id=&quot;points&quot;, double opacity=1.0)</div><div class="ttdoc">Sets the pixel at coordinates(u,v) to color while setting the neighborhood to another</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a86c3e41e3f05a9bd4072a8af01047593"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a86c3e41e3f05a9bd4072a8af01047593">pcl::visualization::ImageViewer::stopped_</a></div><div class="ttdeci">bool stopped_</div><div class="ttdoc">Set to false if the interaction loop is running.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1030</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a8e6d9e7fa50c79a804230474fe572b98"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a8e6d9e7fa50c79a804230474fe572b98">pcl::visualization::ImageViewer::showShortImage</a></div><div class="ttdeci">void showShortImage(const unsigned short *short_image, unsigned int width, unsigned int height, unsigned short min_value=std::numeric_limits&lt; unsigned short &gt;::min(), unsigned short max_value=std::numeric_limits&lt; unsigned short &gt;::max(), bool grayscale=false, const std::string &amp;layer_id=&quot;short_image&quot;, double opacity=1.0)</div><div class="ttdoc">Show a 2D image (unsigned short) on screen.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a9790aea3227a7974531dcc848a1f172b"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a9790aea3227a7974531dcc848a1f172b">pcl::visualization::ImageViewer::emitMouseEvent</a></div><div class="ttdeci">void emitMouseEvent(unsigned long event_id)</div><div class="ttdoc">Fire up a mouse event with a specified event ID</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_a9a53f1ab682bd6031a613683cf79df34"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#a9a53f1ab682bd6031a613683cf79df34">pcl::visualization::ImageViewer::addShortImage</a></div><div class="ttdeci">void addShortImage(const unsigned short *short_image, unsigned int width, unsigned int height, unsigned short min_value=std::numeric_limits&lt; unsigned short &gt;::min(), unsigned short max_value=std::numeric_limits&lt; unsigned short &gt;::max(), bool grayscale=false, const std::string &amp;layer_id=&quot;short_image&quot;, double opacity=1.0)</div><div class="ttdoc">Add a short 2D image layer, but do not render it (use spin/spinOnce to update).</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_aa8b23b888988eb33de555b0997dab464"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#aa8b23b888988eb33de555b0997dab464">pcl::visualization::ImageViewer::ren_</a></div><div class="ttdeci">vtkSmartPointer&lt; vtkRenderer &gt; ren_</div><div class="ttdoc">The renderer.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1014</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_aac139b68072915671fd88dcebd97df1a"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#aac139b68072915671fd88dcebd97df1a">pcl::visualization::ImageViewer::~ImageViewer</a></div><div class="ttdeci">virtual ~ImageViewer()</div><div class="ttdoc">Destructor.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_aac22a20ad2eb7e466966d74a043a52cb"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#aac22a20ad2eb7e466966d74a043a52cb">pcl::visualization::ImageViewer::showMonoImage</a></div><div class="ttdeci">void showMonoImage(const pcl::PointCloud&lt; pcl::Intensity8u &gt; &amp;cloud, const std::string &amp;layer_id=&quot;mono_image&quot;, double opacity=1.0)</div><div class="ttdoc">Show a monochrome 2D image on screen.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_aae0d2a6924edd2f5603abb33a1f58b31"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#aae0d2a6924edd2f5603abb33a1f58b31">pcl::visualization::ImageViewer::exit_main_loop_timer_callback_</a></div><div class="ttdeci">vtkSmartPointer&lt; ExitMainLoopTimerCallback &gt; exit_main_loop_timer_callback_</div><div class="ttdoc">Callback object enabling us to leave the main loop, when a timer fires.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1004</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_aae27531d1bf7fe6c2a79320980b301a4"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#aae27531d1bf7fe6c2a79320980b301a4">pcl::visualization::ImageViewer::registerMouseCallback</a></div><div class="ttdeci">boost::signals2::connection registerMouseCallback(void(T::*callback)(const pcl::visualization::MouseEvent &amp;, void *), T &amp;instance, void *cookie=NULL)</div><div class="ttdoc">Register a callback function for mouse events</div><div class="ttdef"><b>Definition:</b> image_viewer.h:526</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ab3340b7e8cc80f3cf4276dfcbb589fe5"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ab3340b7e8cc80f3cf4276dfcbb589fe5">pcl::visualization::ImageViewer::addRGBImage</a></div><div class="ttdeci">void addRGBImage(const unsigned char *data, unsigned width, unsigned height, const std::string &amp;layer_id=&quot;rgb_image&quot;, double opacity=1.0)</div><div class="ttdoc">Add an RGB 2D image layer, but do not render it (use spin/spinOnce to update).</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ab3d46fb79a3a66b9a577808ed7169c9f"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ab3d46fb79a3a66b9a577808ed7169c9f">pcl::visualization::ImageViewer::showMonoImage</a></div><div class="ttdeci">void showMonoImage(const unsigned char *data, unsigned width, unsigned height, const std::string &amp;layer_id=&quot;mono_image&quot;, double opacity=1.0)</div><div class="ttdoc">Show a monochrome 2D image on screen.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ab4473dcb0b7e2d83adb520be23a883f5"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ab4473dcb0b7e2d83adb520be23a883f5">pcl::visualization::ImageViewer::emitKeyboardEvent</a></div><div class="ttdeci">void emitKeyboardEvent(unsigned long event_id)</div><div class="ttdoc">Fire up a keyboard event with a specified event ID</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ab67fc7734463f333ef483e0ec1eaeab0"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ab67fc7734463f333ef483e0ec1eaeab0">pcl::visualization::ImageViewer::ImageViewer</a></div><div class="ttdeci">ImageViewer(const std::string &amp;window_title=&quot;&quot;)</div><div class="ttdoc">Constructor.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ab6b01db4cee7006e08b237eac27cb623"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ab6b01db4cee7006e08b237eac27cb623">pcl::visualization::ImageViewer::close</a></div><div class="ttdeci">void close()</div><div class="ttdoc">Stop the interaction and close the visualizaton window.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:563</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ab928954619a61d4d1b6679a421ca8578"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ab928954619a61d4d1b6679a421ca8578">pcl::visualization::ImageViewer::setSize</a></div><div class="ttdeci">void setSize(int xw, int yw)</div><div class="ttdoc">Set the window size in screen coordinates.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_abc30830923155965adaf9a96954c73d2"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#abc30830923155965adaf9a96954c73d2">pcl::visualization::ImageViewer::addText</a></div><div class="ttdeci">bool addText(unsigned int x, unsigned int y, const std::string &amp;text, const std::string &amp;layer_id=&quot;line&quot;, double opacity=1.0)</div><div class="ttdoc">Add a 2D text with a given color</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ac0c9e8a98da3768aef5dd08df9822bdf"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ac0c9e8a98da3768aef5dd08df9822bdf">pcl::visualization::ImageViewer::addRGBImage</a></div><div class="ttdeci">void addRGBImage(const typename pcl::PointCloud&lt; T &gt;::ConstPtr &amp;cloud, const std::string &amp;layer_id=&quot;rgb_image&quot;, double opacity=1.0)</div><div class="ttdoc">Add an RGB 2D image layer, but do not render it (use spin/spinOnce to update).</div><div class="ttdef"><b>Definition:</b> image_viewer.h:288</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ac29c3b5fa725cb452135733e13332d6c"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ac29c3b5fa725cb452135733e13332d6c">pcl::visualization::ImageViewer::addFloatImage</a></div><div class="ttdeci">void addFloatImage(const float *data, unsigned int width, unsigned int height, float min_value=std::numeric_limits&lt; float &gt;::min(), float max_value=std::numeric_limits&lt; float &gt;::max(), bool grayscale=false, const std::string &amp;layer_id=&quot;float_image&quot;, double opacity=1.0)</div><div class="ttdoc">Add a float 2D image layer, but do not render it (use spin/spinOnce to update).</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_aca066cf44d842ea7e8a11da86fe56e48"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#aca066cf44d842ea7e8a11da86fe56e48">pcl::visualization::ImageViewer::showMonoImage</a></div><div class="ttdeci">void showMonoImage(const pcl::PointCloud&lt; pcl::Intensity &gt; &amp;cloud, const std::string &amp;layer_id=&quot;mono_image&quot;, double opacity=1.0)</div><div class="ttdoc">Show a monochrome 2D image on screen.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ace5662622459d62b330b83d5a544f26a"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ace5662622459d62b330b83d5a544f26a">pcl::visualization::ImageViewer::setPosition</a></div><div class="ttdeci">void setPosition(int x, int y)</div><div class="ttdoc">Set the position in screen coordinates.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ad0ed6bc71fcd05d3c77148d76368915a"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ad0ed6bc71fcd05d3c77148d76368915a">pcl::visualization::ImageViewer::addMonoImage</a></div><div class="ttdeci">void addMonoImage(const pcl::PointCloud&lt; pcl::Intensity &gt;::ConstPtr &amp;cloud, const std::string &amp;layer_id=&quot;mono_image&quot;, double opacity=1.0)</div><div class="ttdoc">Add a monochrome 2D image layer, but do not render it (use spin/spinOnce to update).</div><div class="ttdef"><b>Definition:</b> image_viewer.h:182</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ad32038d746d8cd0cdd373d683c03c0f8"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ad32038d746d8cd0cdd373d683c03c0f8">pcl::visualization::ImageViewer::interactor_style_</a></div><div class="ttdeci">vtkSmartPointer&lt; ImageViewerInteractorStyle &gt; interactor_style_</div><div class="ttdoc">The interactor style.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1021</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ad46e6a0d2d9b1e1a1d4a0e56b3e28bd3"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ad46e6a0d2d9b1e1a1d4a0e56b3e28bd3">pcl::visualization::ImageViewer::addAngleImage</a></div><div class="ttdeci">void addAngleImage(const float *data, unsigned width, unsigned height, const std::string &amp;layer_id=&quot;angle_image&quot;, double opacity=1.0)</div><div class="ttdoc">Add an angle 2D image layer, but do not render it (use spin/spinOnce to update).</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_add4cf1ce0536ae6ba7b42f316e6d368c"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#add4cf1ce0536ae6ba7b42f316e6d368c">pcl::visualization::ImageViewer::registerKeyboardCallback</a></div><div class="ttdeci">boost::signals2::connection registerKeyboardCallback(void(T::*callback)(const pcl::visualization::KeyboardEvent &amp;, void *), T &amp;instance, void *cookie=NULL)</div><div class="ttdoc">Register a callback function for keyboard events</div><div class="ttdef"><b>Definition:</b> image_viewer.h:494</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ae041919b2a5c72dd8db64c98456aee0f"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ae041919b2a5c72dd8db64c98456aee0f">pcl::visualization::ImageViewer::getSize</a></div><div class="ttdeci">int * getSize()</div><div class="ttdoc">Return the window size in pixels.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ae20fe7a724a6d4b83f3da2f5cb4b787d"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ae20fe7a724a6d4b83f3da2f5cb4b787d">pcl::visualization::ImageViewer::addFilledRectangle</a></div><div class="ttdeci">bool addFilledRectangle(unsigned int x_min, unsigned int x_max, unsigned int y_min, unsigned int y_max, double r, double g, double b, const std::string &amp;layer_id=&quot;boxes&quot;, double opacity=0.5)</div><div class="ttdoc">Add a 2D box and fill it in with a given color</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_ae9053b46268ff4cbb3cb9200099302a0"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#ae9053b46268ff4cbb3cb9200099302a0">pcl::visualization::ImageViewer::render</a></div><div class="ttdeci">void render()</div><div class="ttdoc">Trigger a render call.</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_aea7736ed1e3710dc9fcd210c8a41e509"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#aea7736ed1e3710dc9fcd210c8a41e509">pcl::visualization::ImageViewer::registerMouseCallback</a></div><div class="ttdeci">boost::signals2::connection registerMouseCallback(void(*callback)(const pcl::visualization::MouseEvent &amp;, void *), void *cookie=NULL)</div><div class="ttdoc">Register a callback boost::function for mouse events</div><div class="ttdef"><b>Definition:</b> image_viewer.h:513</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_aee92b2fc2a135119c611e4dbb5639281"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#aee92b2fc2a135119c611e4dbb5639281">pcl::visualization::ImageViewer::convertIntensityCloud8uToUChar</a></div><div class="ttdeci">void convertIntensityCloud8uToUChar(const pcl::PointCloud&lt; pcl::Intensity8u &gt; &amp;cloud, boost::shared_array&lt; unsigned char &gt; data)</div><div class="ttdoc">Convert the Intensity8u information in a PointCloud&lt;Intensity8u&gt; to an unsigned char array</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_af4168cf423e972fb3b81553ba67b36ea"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#af4168cf423e972fb3b81553ba67b36ea">pcl::visualization::ImageViewer::addCircle</a></div><div class="ttdeci">bool addCircle(unsigned int x, unsigned int y, double radius, const std::string &amp;layer_id=&quot;circles&quot;, double opacity=1.0)</div><div class="ttdoc">Add a circle shape from a point and a radius</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_af79aeb1777da223b2ff1a85ee77c71c1"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#af79aeb1777da223b2ff1a85ee77c71c1">pcl::visualization::ImageViewer::wasStopped</a></div><div class="ttdeci">bool wasStopped() const</div><div class="ttdoc">Returns true when the user tried to close the window</div><div class="ttdef"><b>Definition:</b> image_viewer.h:559</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_af8028c171e53a93c4d819d63cadbe4a9"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#af8028c171e53a93c4d819d63cadbe4a9">pcl::visualization::ImageViewer::algo_</a></div><div class="ttdeci">vtkSmartPointer&lt; vtkImageFlip &gt; algo_</div><div class="ttdoc">Image reslice, used for flipping the image.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:1042</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_af9035ec397ec9c4e0019dc2fca7e8077"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#af9035ec397ec9c4e0019dc2fca7e8077">pcl::visualization::ImageViewer::addCircle</a></div><div class="ttdeci">bool addCircle(unsigned int x, unsigned int y, double radius, double r, double g, double b, const std::string &amp;layer_id=&quot;circles&quot;, double opacity=1.0)</div><div class="ttdoc">Add a circle shape from a point and a radius</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_html_afbcd91e2f16a9e11e72aec9e5fb74317"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer.html#afbcd91e2f16a9e11e72aec9e5fb74317">pcl::visualization::ImageViewer::showMonoImage</a></div><div class="ttdeci">void showMonoImage(const pcl::PointCloud&lt; pcl::Intensity &gt;::ConstPtr &amp;cloud, const std::string &amp;layer_id=&quot;mono_image&quot;, double opacity=1.0)</div><div class="ttdoc">Show a monochrome 2D image on screen.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:170</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_image_viewer_interactor_style_html"><div class="ttname"><a href="classpcl_1_1visualization_1_1_image_viewer_interactor_style.html">pcl::visualization::ImageViewerInteractorStyle</a></div><div class="ttdoc">An image viewer interactor style, tailored for ImageViewer.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:76</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_keyboard_event_html"><div class="ttname"><a href="classpcl_1_1visualization_1_1_keyboard_event.html">pcl::visualization::KeyboardEvent</a></div><div class="ttdef"><b>Definition:</b> keyboard_event.h:50</div></div>
<div class="ttc" id="aclasspcl_1_1visualization_1_1_mouse_event_html"><div class="ttname"><a href="classpcl_1_1visualization_1_1_mouse_event.html">pcl::visualization::MouseEvent</a></div><div class="ttdef"><b>Definition:</b> mouse_event.h:49</div></div>
<div class="ttc" id="aclassvtk_smart_pointer_html"><div class="ttname"><a href="classvtk_smart_pointer.html">vtkSmartPointer&lt; vtkContextActor &gt;</a></div></div>
<div class="ttc" id="acommon_2include_2pcl_2point__types_8h_html"><div class="ttname"><a href="common_2include_2pcl_2point__types_8h.html">point_types.h</a></div></div>
<div class="ttc" id="astructpcl_1_1_point_x_y_html"><div class="ttname"><a href="structpcl_1_1_point_x_y.html">pcl::PointXY</a></div><div class="ttdoc">A 2D point structure representing Euclidean xy coordinates.</div><div class="ttdef"><b>Definition:</b> point_types.hpp:720</div></div>
<div class="ttc" id="astructpcl_1_1visualization_1_1_image_viewer_1_1_exit_callback_html"><div class="ttname"><a href="structpcl_1_1visualization_1_1_image_viewer_1_1_exit_callback.html">pcl::visualization::ImageViewer::ExitCallback</a></div><div class="ttdef"><b>Definition:</b> image_viewer.h:949</div></div>
<div class="ttc" id="astructpcl_1_1visualization_1_1_image_viewer_1_1_exit_main_loop_timer_callback_html"><div class="ttname"><a href="structpcl_1_1visualization_1_1_image_viewer_1_1_exit_main_loop_timer_callback.html">pcl::visualization::ImageViewer::ExitMainLoopTimerCallback</a></div><div class="ttdef"><b>Definition:</b> image_viewer.h:924</div></div>
<div class="ttc" id="astructpcl_1_1visualization_1_1_image_viewer_1_1_layer_comparator_html"><div class="ttname"><a href="structpcl_1_1visualization_1_1_image_viewer_1_1_layer_comparator.html">pcl::visualization::ImageViewer::LayerComparator</a></div><div class="ttdef"><b>Definition:</b> image_viewer.h:1050</div></div>
<div class="ttc" id="astructpcl_1_1visualization_1_1_image_viewer_1_1_layer_html"><div class="ttname"><a href="structpcl_1_1visualization_1_1_image_viewer_1_1_layer.html">pcl::visualization::ImageViewer::Layer</a></div><div class="ttdoc">Internal structure describing a layer.</div><div class="ttdef"><b>Definition:</b> image_viewer.h:974</div></div>
</div><!-- fragment --></div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="dir_2ac5e416e20d6963657ce30aa6dbcd0f.html">visualization</a></li><li class="navelem"><a class="el" href="dir_ca70b9fa2354bc60013eaf653373b145.html">include</a></li><li class="navelem"><a class="el" href="dir_28dd85ce8ffdd76a714606be7f2489ac.html">pcl</a></li><li class="navelem"><a class="el" href="dir_39db60481a174b518eca40dd7e3347e8.html">visualization</a></li><li class="navelem"><b>image_viewer.h</b></li>
    <li class="footer">制作者 <a href="https://www.doxygen.org/index.html"><img class="footer" src="doxygen.svg" width="104" height="31" alt="doxygen"/></a> 1.9.1 </li>
  </ul>
</div>
</body>
</html>
